oracle存储过程00054,oracle执行存储过程报错:ORA-12011

在执行Oracle存储过程时遇到ORA-12011错误,通常并非权限问题,而是由于存储过程的参数使用不当。文章中描述了一个实例,该实例中的存储过程在作为定时任务执行时,由于未传入参数导致错误。通过修改存储过程,使其在内部定义参数,解决了问题。存储过程的原始代码和修改后的代码一同展示,涉及游标操作和数据插入。
摘要由CSDN通过智能技术生成

执行定时任务时报错:

0818b9ca8b590ca3270a3433284dd417.png

不一定是权限问题,但肯定是存储过程执行的问题。

我的存储过程带参数,我用测试存储过程的代码放入了job的what值,eg:proc_update_tag_cor_id(v_cor=>:v_cor

v_tag=>:v_tag

);

执行时没有传入参数值,所以执行不通过。

修改存储过程后(存储过程内部参数可以定义在执行过程中),就可以了

附:

我的存储过程代码:

原来的:

create or replace procedure proc_update_tag_cor_id(

c_course out sys_refcursor,

v_tag_id in out edc_tag_course.id%type,

v_cor_id in out edc_course.id%type)

AUTHID CURRENT_USER

is

begin

--查询“最新上市”tag的id

select t.id into v_tag_id from edc_tag_course t where t.tag_name = '最新上市';

if v_tag_id is null then

dbms_output.put_line('“最新上市”标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值