更新 SQL 中的多个列

2022-01-17 00:00:00 sql-update sql sql-server

有没有办法像使用插入语句一样更新 SQL Server 中的多个列?

Is there a way to update multiple columns in SQL server the same way an insert statement is used?

类似:

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

或者类似的东西,而不是这样:

Or something like that, rather than like so:

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

如果你有 100 多列,写起来可能会很累.

which can be pretty tiresome to write if you have 100+ columns.

推荐答案

烦人的方式"是标准SQL,主流RDBMS是怎么做的.

The "tiresome way" is standard SQL and how mainstream RDBMS do it.

如果有 100 多列,您很可能会遇到设计问题...此外,客户端工具(例如生成 UPDATE 语句)或使用 ORM 也有缓解方法

With a 100+ columns, you mostly likely have a design problem... also, there are mitigating methods in client tools (eg generation UPDATE statements) or by using ORMs

相关文章