回答

收藏

SQL存储过程:如果变量不为空,则更新语句

技术问答 技术问答 242 人阅读 | 0 人回复 | 2023-09-14

我在存储过程中有一条更新语句,该语句通常如下所示:
& a8 Y: p3 o* L  U( T% Z: ]Update [TABLE_NAME]
1 K6 e: o& e+ J7 D8 i! v4 W( kSet XYZ=@ABC
; o* W: h0 l, {) s$ y+ |, A% G是否只有当变量不为null或值-1时才触发更新语句的好方法?4 E/ B: i2 {  Y# K, U% W
类似于一个IF NOT EXISTS...INSERT问题。, J! S/ l" k6 ^6 I, _9 g  y9 @
太感谢了。4 R. E6 r  {9 \, ^/ E
                % v, E. E4 H& V" |; X
解决方案:& T/ ]" m2 K! i8 y
                0 z7 |6 q/ Y. E3 d

8 n; r/ m$ N% T) ~6 w- O" K+ s! |2 w6 R, H) b/ r! r9 e
                使用T-SQL IF:; G$ M8 f! b- A4 k# L
IF @ABC IS NOT NULL AND @ABC != -1- d- k1 Z& N$ x. f! w: q
    UPDATE [TABLE_NAME] SET XYZ=@ABC
- D& X/ M8 a7 t8 ^看一下MSDN文档。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则