在存储过程中 复制表 没有权限

seasol 2003-08-27 06:03:15
复制表:
create table t2 as select * from t1 where 1>2;

在Sql *plus中,执行正常

但如果在 存储过程 中执行,就会提示“权限不足”

不知为何?

...全文
33 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
seasol 2003-08-27
  • 打赏
  • 举报
回复
抱歉,已经结贴
beckhambobo 2003-08-27
  • 打赏
  • 举报
回复
grant create any table to your_user;
seasol 2003-08-27
  • 打赏
  • 举报
回复
非常感谢!!!
jiezhi 2003-08-27
  • 打赏
  • 举报
回复
給予你的用戶create any table的權限
和select 該t1表的權限
gladness 2003-08-27
  • 打赏
  • 举报
回复
grant create table to 用户名;

在存储过程中创建表,由role赋给的权限是没用的,需要直接赋给用户。
jiezhi 2003-08-27
  • 打赏
  • 举报
回复
sql:='create ...';
execute immediate sql;
seasol 2003-08-27
  • 打赏
  • 举报
回复

sqltable :='create table t2 as select * from t1 where 1>2';

execute immediate sqltable;

动态SQL是不是按如上方式进行。
这种方式提示“权限不足”
hdkkk 2003-08-27
  • 打赏
  • 举报
回复
用动态sql

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧