zoukankan      html  css  js  c++  java
  • 使用Toad创建存储过程出现错误并解决

    存储过程中遇到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;

  • 相关阅读:
    进程和程序
    linux socket基本知识
    window核心编程 第五章 作业
    树的基本操作(C语言)
    每天都在反省自己,但是每天却都浑浑噩噩
    Windows核心编程 内核对象
    还没完整看过一本技术的书籍啊
    管道
    Memory Layout of a C Program(7.6)
    cpio命令用法
  • 原文地址:https://www.cnblogs.com/xmzzp/p/4174388.html
Copyright © 2011-2022 走看看