gpt4 book ai didi

sql - 作为Sqlplus中的系统,我如何查询另一个用户的表?

转载 作者:行者123 更新时间:2023-12-04 16:26:46 24 4
gpt4 key购买 nike

根据从 system_privilege_map 中选择名称系统已被授予:

SELECT ANY TABLE

...以及许多其他 * 任何表格。

平淡无奇
select * from the_table;
select * from the_table;

...网给定的响应:

ERROR at line 1: ORA-00942: table or view does not exist



我可以以该用户身份登录并运行相同的命令。

我假设我应该能够针对一般用户的数据库表运行查询(在这种情况下为选择)。我的假设是否正确,如果是,我该怎么做?

最佳答案

正如前面的回复所说,您可以在对象名称前加上模式名称:

SELECT * FROM schema_name.the_table;

或者您可以使用同义词(私有(private)或公共(public)):
CREATE (PUBLIC) SYNONYM the_table FOR schema_name.the_table;

或者,您可以发出 alter session 命令将默认模式设置为您想要的模式:
ALTER SESSION SET current_schema=schema_name;

请注意,这只是设置默认模式,相当于在所有(非限定)对象名称前加上 schema_name .您仍然可以使用不同的模式名称为对象添加前缀,以从另一个模式访问对象。使用 SET current_schema不影响您的权限:您仍然拥有登录用户的权限,而不是您设置的架构。

关于sql - 作为Sqlplus中的系统,我如何查询另一个用户的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/122302/

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