oracle创建存储过程定时任务时报错的问题
2017-11-09 15:32
369 查看
写了四张表的存储过程,并要分别建四个定时任务去执行这四个过程,其中三个存储过程创建,然后创建定时任务,没问题,维有一个始终报错,报的错也看不懂是啥。
于是就在网上查找相关问题码,最后找到一篇文章说是编译存储过程时有错误导致定时任务无法创建,
于是就在网上查找怎么查看编译错误,
后来找到,原来在plsql里,用sqlwindow只能执行sql语句,因为创建存储过程是用create or replace procedure,是sql语句所以能执行,但是如果有错误,是不能报错的。
如果要看到错误,那么需要把创建存储过程的语句放到Programe window里执行,就能看到提示信息了(如果编译有错误的话).
这样执行后,果然有编译错误,哦,对了,在这之前,我打开plsql左边树形结构的procedures里找到无法执行的存储过程,右键后选择test,如果有错误也会提示出来。
这时发现错误提示为表或试图不存在,但是我单独执行这张表的select语句是可以执行的,这就奇怪了,于是再在网上找,原来,这张表用了同义词,普通查询没问题,但是
放到存储过程里就不行了,这时需要给表赋权限,执行下面的语句:
grant select on res_cip to public; 这里的res_cip就是创建同义词的表了,public表示任何用户,select表示赋予的权限为查询。
执行后,顺利创建。
于是就在网上查找相关问题码,最后找到一篇文章说是编译存储过程时有错误导致定时任务无法创建,
于是就在网上查找怎么查看编译错误,
后来找到,原来在plsql里,用sqlwindow只能执行sql语句,因为创建存储过程是用create or replace procedure,是sql语句所以能执行,但是如果有错误,是不能报错的。
如果要看到错误,那么需要把创建存储过程的语句放到Programe window里执行,就能看到提示信息了(如果编译有错误的话).
这样执行后,果然有编译错误,哦,对了,在这之前,我打开plsql左边树形结构的procedures里找到无法执行的存储过程,右键后选择test,如果有错误也会提示出来。
这时发现错误提示为表或试图不存在,但是我单独执行这张表的select语句是可以执行的,这就奇怪了,于是再在网上找,原来,这张表用了同义词,普通查询没问题,但是
放到存储过程里就不行了,这时需要给表赋权限,执行下面的语句:
grant select on res_cip to public; 这里的res_cip就是创建同义词的表了,public表示任何用户,select表示赋予的权限为查询。
执行后,顺利创建。
相关文章推荐
- oracle创建存储过程和定时任务
- 【转】Oracle job procedure 存储过程定时任务
- Oracle job procedure 存储过程定时任务
- ORACLE 11G在存储过程里面遍历游标, 调用job任务定时运行
- Oracle job procedure 存储过程定时任务
- 通过shell脚本调用oracle存储过程并加入定时任务
- Oracle job procedure 存储过程定时任务
- oracle创建存储过程中遇到的问题
- Oracle的存储过程中创建临时表报权限不足问题
- Oracle job procedure 存储过程定时任务
- Oracle关于创建存储过程权限问题以及带参数的游标的范例
- Oracle job procedure 存储过程JOB定时任务
- oracle设置定时任务来调用存储过程完成统计(每小时计时一次存到hour表)
- ORACLE 11G在存储过程里面遍历游标, 调用job任务定时执行
- [转]Oracle job procedure 存储过程定时任务
- ORACLE定时任务调用存储过程动态为表添加分区
- Oracle job procedure 存储过程定时任务
- Oracle job procedure 存储过程定时任务
- Oracle job procedure 存储过程定时任务
- Oracle 的存储过程和定时任务