sql 语句单独执行结果正确,放在存储过程中执行结果

各位大神帮忙看看条件语句WHERE1=1ANDTAW1.APP_NO=curAppNoANDTAW1.CORP_CD=curCorpCdANDTAW1.APP_LINE=... 各位大神帮忙看看 条件语句
WHERE
1 = 1
AND TAW1.APP_NO = curAppNo
AND TAW1.CORP_CD = curCorpCd
AND TAW1.APP_LINE = app_line;直接执行更新语句没问题,写到存储过程里就只按下面两个条件更新了WHERE
1 = 1
AND TAW1.APP_NO = curAppNo
AND TAW1.CORP_CD = curCorpCd

参数传入正确,这是个什么情况?
具体内容
BEGIN
--类别=OR时
UPDATE TB_APP_WORKER TAW1
SET
TAW1.APP_STS = i_app_sts
,TAW1.APP_COMMEND = i_app_commend
,TAW1.UPDATE_BY = i_app_worker
,TAW1.UPDATE_DATE = createDate
WHERE
1 = 1
AND TAW1.APP_NO = curAppNo
AND TAW1.CORP_CD = curCorpCd
AND TAW1.APP_LINE = app_line;
END;
展开
 我来答
百度网友9b9910e
2014-02-18 · TA获得超过397个赞
知道小有建树答主
回答量:721
采纳率:0%
帮助的人:446万
展开全部
老实说没太看懂袜蚂。如物槐果你的(告蚂埋 --类别=OR时)这句是实际的代码。建议在它后面再加一组Begin Eng
这样。
BEGIN
--类别=OR时
Begin
UPDATE TB_APP_WORKER TAW1
SET
TAW1.APP_STS = i_app_sts
,TAW1.APP_COMMEND = i_app_commend
,TAW1.UPDATE_BY = i_app_worker
,TAW1.UPDATE_DATE = createDate
WHERE
1 = 1
AND TAW1.APP_NO = curAppNo
AND TAW1.CORP_CD = curCorpCd
AND TAW1.APP_LINE = app_line;
End

END;
更多追问追答
追问
--类别=OR时
这句只是注释,不是具体代码。不过还是谢谢你了
追答
你在你的SP里面Print传入的参数,看看每个参数是不是都正确传入了。这个问题看上去很奇怪。
narutoljf
2014-02-18 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:151
采纳率:100%
帮助的人:100万
展开全部
书写统一规范,会给自己减少很多麻烦,更能提高效率,提高代码质量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wylxl99
推荐于2018-04-10 · TA获得超过364个赞
知道小有建树答主
回答量:264
采纳率:0%
帮助的人:121万
展开全部
呵呵,曾经我犯的错误。
错误原因如下:当参数名与字段名一样时,oracle会偷尺隐懒,把参数名当成字段名。
所以第三个条件相当于没写。
这种错误找起来很费劲尘陪。记住,以及以后规范就陵兄厅好了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式