存储过程中使用EXECUTE IMMEDIATE提示权限不足,可是单独执行sql没有问题!

骨骨 2004-12-09 09:22:26
存储过程中使用EXECUTE IMMEDIATE提示权限不足,可是单独执行sql没有问题!

v_sql :=
' create table '
|| i_table
|| ' TABLESPACE '
|| i_table_ts
|| ' PARTITION BY RANGE (REGION_ID) '
|| ' ( '
|| ' PARTITION A VALUES LESS THAN (''B''), '
|| ' PARTITION B VALUES LESS THAN (''C''), '
|| ' PARTITION C VALUES LESS THAN (''D''), '
|| ' PARTITION D VALUES LESS THAN (''E''), '
|| ' PARTITION E VALUES LESS THAN (''F''), '
|| ' PARTITION F VALUES LESS THAN (''G''), '
|| ' PARTITION G VALUES LESS THAN (''H''), '
|| ' PARTITION H VALUES LESS THAN (''I''), '
|| ' PARTITION I VALUES LESS THAN (''J''), '
|| ' PARTITION J VALUES LESS THAN (''K''), '
|| ' PARTITION K VALUES LESS THAN (''L''), '
|| ' PARTITION L VALUES LESS THAN (''M''), '
|| ' PARTITION M VALUES LESS THAN (maxvalue) '
|| ' ) '
|| ' as select * from '
|| i_table_last
|| ' where 1=2 ';

EXECUTE IMMEDIATE v_sql;

请问这是为什么?

...全文
605 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhpsam109 2004-12-10
  • 打赏
  • 举报
回复
不清楚是否有 EXECUTE IMMEDIATE 是否允许用户执行的权限?
phant0m 2004-12-10
  • 打赏
  • 举报
回复
用dba登录 赋予该用户create any table 权限
GerryYang 2004-12-10
  • 打赏
  • 举报
回复
看看现有的权限中是否有create any table权限.
zhaokeke2004 2004-12-10
  • 打赏
  • 举报
回复
是权限问题,执行此存储过程的用户一定要有create any table的权限,就是DBA也不行.以前试过了

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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