|
我读了很多关于如何更新多列的文章,但我仍然找不到正确的答案。) F8 @' T9 m3 ^& t# F' K" F2 T
我有一张桌子,我想从另一张桌子上更新。- Y4 Q! R/ d4 t6 @( p( X8 C0 c: N
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 ( SELECT ..... with join ... where ....) t2 where table1.id=table2.id假如我只运行select语句(在方括号之间),脚本返回值,但不能使用update
, @) U6 k K" J+ S, P 9 T7 K8 s2 W2 t1 a8 s' \) |% t
解决方案:
$ ^8 ^4 {/ i( Z8 u% a4 o TSQL不支持行值构造函数。改用此:3 g( r# \; N+ s: j
UPDATE table1 SET a = t2.a, b = t2.b, (...)FROM (SELECT ..... with join ... WHERE .... ) t2WHERE table1.id = table2.id |
|