码迷,mamicode.com
首页 > 其他好文 > 详细

使用Toad创建存储过程出现错误并解决

时间:2014-12-19 18:54:55      阅读:381      评论:0      收藏:0      [点我收藏+]

标签:

存储过程中遇到ora-00942表或视图不存在

CREATE OR REPLACE PROCEDURE p

IS

   CURSOR c

   IS

      SELECT *

        FROM scott.emp

      FOR UPDATE;

 

BEGIN

   FOR v_temp IN c

   LOOP

      IF (v_temp.deptno = 10)

      THEN

         UPDATE scott.emp

            SET sal = sal + 10

          WHERE CURRENT OF c;

      ELSIF (v_temp.deptno = 20)

      THEN

         UPDATE scott.emp

            SET sal = sal + 20

          WHERE CURRENT OF c;

      ELSE

         UPDATE scott.emp

            SET sal = sal + 50

          WHERE CURRENT OF c;

      END IF;

   END LOOP;

 

   COMMIT;

END;

 

 使用toad创建存储过程出现错误:

Warning: compiled but with compilation errors.

打印错误确是:ORA-00942: table or view does not exist

查了下资料才知道

sys.fga_log$ 是记录fga审计记录的基本表。

解决方法:
以sys身份登录,为system赋予select 和delete sys.fga_log$的权限,否则下边的存储过程添加会有问题。
Sql> grant select ,delete on sys.fga_log$ to system;

使用Toad创建存储过程出现错误并解决

标签:

原文地址:http://www.cnblogs.com/xmzzp/p/4174388.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!