Oracle新建了一个存储过程,里面包含CREATE和DROP,逐条依据可以执行,但是执行整个存储过程报权限不足的错误。
  在网上看到,Oracle规定,在默认的情况下,在调用存储过程用户的角色不起作用,即在执行存储过程时只有Public权限。所以在调用Create table时,会有权限不足的提示。所以需要给当前存储过程制定角色,指定AUTHID 属性,
  即写为:
  create or replace PROCEDURE 存储过程名称
  Authid Current_User
  IS
  BEGIN
  ……;
  END;
  存储过程能够正常执行了!