【发布时间】:2014-03-29 10:01:12
【问题描述】:
我是 oracle 新手,我在 Pl/Sql 开发人员上工作,我可以通过 pl/sql 开发人员 IDE 创建表,但我不能在查询中这样做:
Create Table table_name as select * from Docs
返回权限不足错误
谁能告诉我原因...提前谢谢
【问题讨论】:
-
如果您可以使用
create table (...);创建表,则该错误表示您没有权限从表中选择DOCS -
请运行以下查询并将其结果附加到问题中:
select * from USER_TAB_PRIVS where table_name = 'DOCS'和select * from USER_SYS_PRIVS WHERE privilege like 'CREATE%' -
感谢@kordirko ...第一个查询不返回任何行,第二个返回创建视图权限...看起来我没有创建表权限...但我的问题仍然是为什么我可以通过pl/sql开发者IDE创建
-
@karlo 请同时检查授予您用户的角色,使用:
SELECT * FROM USER_ROLE_PRIVS。我猜角色resource已授予您的用户,pl/sql 开发人员在创建表时启用该角色,但该角色在交互式会话中被禁用-您必须使用@987654328 为会话“启用”该角色@. -
就是这样......它解决了我的问题
标签: sql oracle privileges plsqldeveloper