MW211 EXIT

devlog
SQL/CASE文で更新したくない条件の場合
2017年09月26日
CASE文にて更新したくない条件の場合は、更新先の列を更新元にしてあげればよい。
┌──────────────────────────────────────┐
│UPDATE 表                                                                   │
│    SET 列 = 列;                                                            │
└──────────────────────────────────────┘
イメージ的には上記のような感じすれば、更新されない。

例えば、条件が偽の場合にのみNULLを設定する時は以下のような感じになる。
┌──────────────────────────────────────┐
│UPDATE 表                                                                   │
│    SET 列 = CASE                                                           │
│               WHEN 条件 THEN 列                                            │
│               ELSE           NULL                                          │
│             END;                                                           │
└──────────────────────────────────────┘
なお、トリガは起動してしまうので、更新差分があったかどうかのチェックを
加えてあげる必要がある。
分類:SQL