gpt4 book ai didi

sql - 在不指定架构名称的情况下访问表

转载 作者:行者123 更新时间:2023-12-04 03:43:56 25 4
gpt4 key购买 nike

我有一个名为 GBO_ARC_SCHEMA 的架构,其中我有一张名为 TEST_EMP 的表,
我有两个用户说 USER_AUSER_B .

首先我连接到 USER_A并在查询下方触发

select count(*)from TEST_EMP;

count
-----
20

之后我连接为 USER_b并在查询下方触发但它给出了一个错误,说表或 View 没有退出
select count(*)from TEST_EMP;

但是如果我使用 scma.object name它允许我像下面这样查询
select count(*)from GBO_ARC_SCHEMA.TEST_EMP;

但根据我的要求,我不想指定架构名称。

有人可以帮帮我吗?

最佳答案

如果您希望所有用户都能够从表中进行选择而无需使用模式名称进行限定,您需要创建一个公共(public)同义词:

create public synonym TEST_EMP for GBO_ARC_SCHEMA.TEST_EMP;

如果你只想 user_b要省略架构名称,您需要在 user_b 的架构内创建一个私有(private)同义词(以 user_b 身份登录)
create synonym TEST_EMP for GBO_ARC_SCHEMA.TEST_EMP;

如果你坚持关于不使用同义词,然后在登录后执行
alter session set current_schema = GBO_ARC_SCHEMA;

关于sql - 在不指定架构名称的情况下访问表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21846648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com