在存储过程中,
调用 EXECUTE IMMEDIATE CREATE OR REPLACE FUNCTION getc201rm (TestDate DATE) RETURN NUMBER IS BEGIN RETURN 1;
返回得错误是 :ORA-01031: insufficient privileges
网上有人说需要增加权限,可是对于create function得权限,grant命令没有对应参数。另外:CREATE ANY PROCEDURE ,CREATE ANY TABLE 权限,已经加到自己得用户里。grant dba to user 也赋予用户了。
请高手指点如何解决这个问题?多谢!

解决方案 »

  1.   

    一般地,先把FUNCTION编译调试无误后,才用其它(如procedure)来调用它。
      

  2.   

    提示的未必是错误的根源哦。
    是你的create语法不对导致的,缺少end,添加end试试。
      

  3.   


    改成下面的:
    BEGIN
      EXECUTE IMMEDIATE 'CREATE OR REPLACE FUNCTION getc201rm (TestDate DATE) RETURN NUMBER IS BEGIN RETURN 1; END;';
    END;
    /
      

  4.   

    谢谢各位关心,问题已经解决,增加了 grant create procedure to user 权限,就好了。每人都有分。