0

我已经为两个表的特定用户授予选择、更新、插入和创建会话。当我使用 SQL Developer 以该用户身份登录时,他们看不到这些表。是否有其他许可?

4

1 回答 1

1

如果没有更多信息(请参阅我的评论),我的赌注是您正在启动 SQL Developer,连接到数据库,然后打开树控件的“表”部分并在那里查找表。如果是这样的话,你就找错地方了。在 SQL Developer 中,您需要展开“其他用户”,导航到拥有表的用户,然后打开该用户下的树控件的“表”部分以查看这两个表。

如果您尝试对表运行查询,默认情况下,您需要提供完全限定的表名

SELECT *
  FROM owner_of_the_table.table_name

如果您想消除使用完全限定的表名的需要,您可以为表(公共或私有)创建同义词。创建同义词将是常规方法。或者,您可以在会话级别执行

ALTER SESSION SET current_schema = <<owner of the table>>

这将导致使用指定的模式而不是当前用户的模式来解析任何不合格的引用。

于 2013-10-31T21:37:49.360 回答