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; 展开
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; 展开
3个回答
展开全部
老实说没太看懂袜蚂。如物槐果你的(告蚂埋 --类别=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;
这样。
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传入的参数,看看每个参数是不是都正确传入了。这个问题看上去很奇怪。
展开全部
书写统一规范,会给自己减少很多麻烦,更能提高效率,提高代码质量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵,曾经我犯的错误。
错误原因如下:当参数名与字段名一样时,oracle会偷尺隐懒,把参数名当成字段名。
所以第三个条件相当于没写。
这种错误找起来很费劲尘陪。记住,以及以后规范就陵兄厅好了。
错误原因如下:当参数名与字段名一样时,oracle会偷尺隐懒,把参数名当成字段名。
所以第三个条件相当于没写。
这种错误找起来很费劲尘陪。记住,以及以后规范就陵兄厅好了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询