您的位置:首页 > 其它

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

2014-12-19 17:21 405 查看
存储过程中遇到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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐