我如果直接在PL/SQL DEVELPOER的SQL WINDOW中执行建表的操作没有问题,可是用存储过程建表就报
insufficient privilege.
我是通过动态sql

declare
sqlc varchar2(1000);
begin
sqlc := ....; --建表语句
excute immediate sqlc;
end

解决方案 »

  1.   

    需要显示授权
    在存储过程里
    grant create table to user;
      

  2.   

    grant create table to user;
      

  3.   

    grant create table to user
    需要授权,dba也不例外
      

  4.   

    增加authid current_userprocedure p(参数...) authid current_user is
    begin
    ...
    end;
      

  5.   

    grant create table to user;
      

  6.   

    比如我现在的用户为user,那存储过程里这样:
    declare
    v_grant varchar2(100);
    ....
    begin
    v_grant := 'grant create table to user';
    excute immediate v_grant;不过这样不行,也是一样的错误。增加authid current_userprocedure p(参数...) authid current_user is
    begin
    ...
    end;
    你是说在存储过程的第一行改写成你这样?
      

  7.   

    存储过程中你写的
    v_grant := 'grant create table to user';
    excute immediate v_grant;
    就可以你的user都有什么权限?user需要有grant any privilege权限 
    grant grant any privilege to user
    这个不需要显示授权