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;
展开
 我来答
百度网友183c468
2013-12-27 · TA获得超过209个赞
知道小有建树答主
回答量:267
采纳率:0%
帮助的人:127万
展开全部
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。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式