oracle创建存储过程定时任务时报错的问题

本文介绍了解决PLSQL中存储过程编译错误的方法,包括如何查看编译错误信息及解决表权限问题,确保定时任务成功创建。

写了四张表的存储过程,并要分别建四个定时任务去执行这四个过程,其中三个存储过程创建,然后创建定时任务,没问题,维有一个始终报错,报的错也看不懂是啥。

于是就在网上查找相关问题码,最后找到一篇文章说是编译存储过程时有错误导致定时任务无法创建,

于是就在网上查找怎么查看编译错误,

后来找到,原来在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表示赋予的权限为查询。

执行后,顺利创建。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值