1. ホーム
  2. sql

[解決済み] SQLで複数のカラムを更新する

2022-03-01 10:16:42

質問

SQLサーバーで、insert文と同じように複数のカラムを更新する方法はありますか?

のようなものです。

Update table1 set (a,b,c,d,e,f,g,h,i,j,k)=
(t2.a,t2.b,t2.c,t2.d,t2.e,t2.f,t2.g,t2.h,t2.i,t2.j,t2.k)
from table2 t2
where table1.id=table2.id

という感じではなく、そんな感じです。

update table set a=t2.a,b=t2.b etc 

というのは、100以上のカラムがある場合、かなり書くのが面倒になります。

解決方法は?

面倒な方法は、標準的なSQLと、主流のRDBMSが行う方法です。

また、クライアントツール(例:UPDATE文の生成)やORMを使用することで軽減する方法があります。