回答編集履歴
4
推敲
answer
CHANGED
@@ -8,6 +8,6 @@
|
|
8
8
|
ただ、性能の観点からは、where条件で絞り込める場合には指定をした方が良いですが。
|
9
9
|
|
10
10
|
追記
|
11
|
-
このupdate文は使う場面が限定されます。
|
11
|
+
この質問のupdate文は使う場面が限定されます。
|
12
12
|
何故なら、実行する度に値が加算されてしまうからです。
|
13
13
|
初回のみの実行でないなら、selectなどで計算された値で更新するようになっていないと駄目ですね。
|
3
追記
answer
CHANGED
@@ -5,4 +5,9 @@
|
|
5
5
|
備品.数量 = Switch(備品名='ホワイトボード', 数量+1, 備品名='椅子', 数量+10, True, 数量)
|
6
6
|
```
|
7
7
|
updateの際、値を変更したりしなかったりという分岐が必要な場合、変更前の値で更新するという本来無駄な処理を利用すると、複雑さを回避できます。
|
8
|
-
ただ、性能の観点からは、where条件で絞り込める場合には指定をした方が良いですが。
|
8
|
+
ただ、性能の観点からは、where条件で絞り込める場合には指定をした方が良いですが。
|
9
|
+
|
10
|
+
追記
|
11
|
+
このupdate文は使う場面が限定されます。
|
12
|
+
何故なら、実行する度に値が加算されてしまうからです。
|
13
|
+
初回のみの実行でないなら、selectなどで計算された値で更新するようになっていないと駄目ですね。
|
2
追記
answer
CHANGED
@@ -4,4 +4,5 @@
|
|
4
4
|
UPDATE 備品 SET
|
5
5
|
備品.数量 = Switch(備品名='ホワイトボード', 数量+1, 備品名='椅子', 数量+10, True, 数量)
|
6
6
|
```
|
7
|
-
updateの際、値を変更したりしなかったりという分岐が必要な場合、変更前の値で更新するという本来無駄な処理を利用すると、複雑さを回避できます。
|
7
|
+
updateの際、値を変更したりしなかったりという分岐が必要な場合、変更前の値で更新するという本来無駄な処理を利用すると、複雑さを回避できます。
|
8
|
+
ただ、性能の観点からは、where条件で絞り込める場合には指定をした方が良いですが。
|
1
追記
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
**Switch関数**は評価式がTrueの場合に対応した値を返却します。
|
1
|
+
**Switch関数**は評価式がTrueの場合に対応した値を返却しますので、評価式に該当しないものはNullが返却されます。
|
2
|
-
質問の内容では**else**に該当する結果を返せるようにすればよいので、**iif()**に切り替えるか以下のようにします。
|
2
|
+
質問の内容でwhereを省く場合は、**else**に該当する結果を返せるようにすればよいので、**iif()**に切り替えるか以下のようにします。
|
3
3
|
```SQL
|
4
4
|
UPDATE 備品 SET
|
5
5
|
備品.数量 = Switch(備品名='ホワイトボード', 数量+1, 備品名='椅子', 数量+10, True, 数量)
|