Sel*_*jan 2 sql sql-server stored-procedures sql-update
我有一个大约有 17 个字段的表。我需要在这个表中执行频繁的更新。但问题是每次我可能只更新几个字段。在这种情况下编写更新查询的最佳方法是什么?我正在寻找一个选项,其中仅当值不为空时才更新该值。
例如,我在数据库 Say A、B、C、D 中有四个字段。用户更新 say D 的值。所有其他值保持不变。所以我想要一个更新查询,它只更新 D 的值,保持其他值不变。因此,如果我将 a、b 和 c 设置为 null,将 d 设置为用户提供的值,我想编写一个更新查询,该查询仅将 d 的值更新为 a、b 和 c 为空。MsSQL 2012 是我的数据库
可能是这样的
Update T
SET A = CASE WHEN A IS NOT NULL THEN 'Value' ELSE A END,
B = CASE WHEN B IS NOT NULL THEN 'Value' ELSE B END,
C = CASE WHEN C IS NOT NULL THEN 'Value' ELSE C END
D = CASE WHEN D IS NOT NULL THEN 'Value' ELSE D END
FROM Table1 T
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10376 次 |
| 最近记录: |