PL/SQL创建存储过程的错误Warning: Procedure created with compilation errors
createorreplaceprocedureitem_change(oNum_prainnumber,lNum_prainnumber,itemNo_prainvar...
create or replace procedure item_change(
oNum_pra in number,
lNum_pra in number,
itemNo_pra in varchar2) is
begin
update item set itemlnumb=nvl(:old.itemlnumb,0)+lNum_pro,itemOnumb=nvl(:old.itemOnumb,0)+oNumpro
where itemNo=itemNo_pro;
end item_change; 展开
oNum_pra in number,
lNum_pra in number,
itemNo_pra in varchar2) is
begin
update item set itemlnumb=nvl(:old.itemlnumb,0)+lNum_pro,itemOnumb=nvl(:old.itemOnumb,0)+oNumpro
where itemNo=itemNo_pro;
end item_change; 展开
1个回答
展开全部
update item set itemlnumb=nvl(:old.itemlnumb,0)+lNum_pro,itemOnumb=nvl(:old.itemOnumb,0)+oNumpro where itemNo=itemNo_pro;
此处,在存储过程中不能使用触发器的:old,直接去掉:old.就可以。
如:
update item set itemlnumb=nvl(itemlnumb,0)+lNum_pro,itemOnumb=nvl(itemOnumb,0)+oNum_pro where itemNo=itemNo_pro;
此外,
参数也写错了,应为_pro,在定义中写成了_pra。
此处,在存储过程中不能使用触发器的:old,直接去掉:old.就可以。
如:
update item set itemlnumb=nvl(itemlnumb,0)+lNum_pro,itemOnumb=nvl(itemOnumb,0)+oNum_pro where itemNo=itemNo_pro;
此外,
参数也写错了,应为_pro,在定义中写成了_pra。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询