|
区别在于, EXISTS不会因为field_A=NULL就说记录不存在(结果中field_A=NULL也可能是另有原因)
另外, 偶觉得, 你这个存储过程的逻辑有些怪, 本来是由前台来控制是否更新, 现在变成由存储过程来控制(有点没有必要了, 如果记录不存在自然不会更新), 然后再返回更新结果, 其实即使你不用EXISTS去判断(它只负责判断记录是否存在, 不能决定更新是否成功), 也应该有办法查出来更新是否成功(SQL中的方法偶就不清楚了, 让别的版主回答你吧), 因此, 如果你采用的是后一种方法, 你可以先更新,然后检查结果并返回, 前台发现是由于记录不存在而无法更新时就插入一条,
这样看起来就流畅了, 总之, 偶不知道你全部的流程, 觉得你的思路有些乱 |
|