回答編集履歴
2
推敲
answer
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
, UPDATE_DT = NOW()
|
9
9
|
WHERE ID = :ID
|
10
10
|
```
|
11
|
-
:NAMEと:MAILが共にNullの場合にUPDATE_DT を更
|
11
|
+
:NAMEと:MAILが共にNullの場合にUPDATE_DT を変更したくない場合は以下の様にします。
|
12
12
|
```SQL
|
13
13
|
UPDATE TABLE SET
|
14
14
|
NAME = coalesce(:NAME, NAME)
|
1
追記
answer
CHANGED
@@ -7,4 +7,12 @@
|
|
7
7
|
, MAIL = coalesce(:MAIL, MAIL)
|
8
8
|
, UPDATE_DT = NOW()
|
9
9
|
WHERE ID = :ID
|
10
|
+
```
|
11
|
+
:NAMEと:MAILが共にNullの場合にUPDATE_DT を更新したくない場合は以下の様にします。
|
12
|
+
```SQL
|
13
|
+
UPDATE TABLE SET
|
14
|
+
NAME = coalesce(:NAME, NAME)
|
15
|
+
, MAIL = coalesce(:MAIL, MAIL)
|
16
|
+
, UPDATE_DT = case when :NAME is null and :MAIL is null then UPDATE_DT else NOW() end
|
17
|
+
WHERE ID = :ID
|
10
18
|
```
|