失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > oracle 存储过程中变量名和表的字段名同名时 优先将字段名当做表的字段名

oracle 存储过程中变量名和表的字段名同名时 优先将字段名当做表的字段名

时间:2018-12-20 00:38:26

相关推荐

oracle 存储过程中变量名和表的字段名同名时 优先将字段名当做表的字段名

今天写存储过程,有一块是要根据传入的参数SFZJH查出学生的ID和XM赋值给变量XSID和XSXM。SQL如:

SELECT ZXS.ID,ZXS.XM INTO XSID,XSXM_ FROM ZZ_ZXS_JBXXLS ZXS WHERE ZXS.SFZJLX = '1' AND ZXS.SFZJH = SFZJH AND ZXS.ZZ_XX_JBXX_ID = XXID;

我将SFZJH修改成具体的数字,执行sql查出一条数据,但是在存储过程执行,却总是报错:返回的记录数和期望的记录数,不一致。自己左思右想也不明其究,最后咨询一个有经验的同事,原来oracle数据库的存储过程里,如果变量名和表的字段名相同了,会优先当做字段名来看待。这样SQL里的条件ZXS.SFZJH=SFZJH其实就和1=1是一样的了,未起到限制作用,就查出了多条记录。

如果觉得《oracle 存储过程中变量名和表的字段名同名时 优先将字段名当做表的字段名》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。