使用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;
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;
相关文章推荐
- 在mysql中创建存储过程出现1307错误,解决方法
- sqlserver2008查看表记录或者修改存储过程出现目录名无效错误解决方法
- 安装Xen、创建Xen虚拟机、使用Xen虚拟机过程中经常出现的错误总结
- Word使用样式技巧:解决创建目录后出现的打印错误---超链接错误
- mysql导入数据库中的存储过程和函数出现错误的解决办法
- 安装Xen、创建Xen虚拟机、使用Xen虚拟机过程中经常出现的错误总结
- MYSQL存储过程出现Result consisted of more than one row 错误的解决方法
- 安装Xen、创建Xen虚拟机、使用Xen虚拟机过程中经常出现的错误总结
- 在windows xp下使用dbca创建数据库过程中出现的问题及解决方法
- Keil 5 使用 Jlink 进行调试出现错误: No Algorithm found for:错误的解决过程
- ORACLE 存储过程的创建以及ORA-06502:PL/SQL:数字或值错误的解决方法
- Android刷机(卡刷)详细过程,出现刷机失败错误的解决方法,以及乐蛙OS的使用感受(小评测)
- vtk使用过程中出现 "no override found for ***"错误的解决办法
- 使用win7过程中出现错误1079代码故障的解决方法
- sqlserver2008查看表记录或者修改存储过程出现目录名无效错误解决方法
- 使用MyEclipse创建Maven项目出现的错误及解决方法
- 使用LinqDataSource出现“找不到与ViewState中存储的原始值中的给定键相匹配的行,请确保"keys"字典包含与上一个Select操作返回的行对应的唯一键值”错误的解决办法
- 调用远程数据库的存储过程出现“ORA-02064不支持分布式操作”错误的解决方法
- db2存储过程在关联使用left join 时候出现的不是自己想要的结果可能性,以及解决办法
- 创建存储过程错误(已解决):Error Code : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server ver