Обновить несколько столбцов в SQL - PullRequest
145 голосов
/ 31 января 2012

Есть ли способ обновить несколько столбцов на сервере SQL так же, как используется оператор вставки?

Что-то вроде:

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 столбцов.

Ответы [ 12 ]

0 голосов
/ 15 ноября 2014

Если вам нужно набрать это несколько раз, вы можете сделать так, как я однажды.Получите имена ваших столбцов в строках на листе Excel (запишите в конце названия каждого столбца (=), что легко в notepad ++) справа, создайте столбец для копирования и вставьте свое значение, которое будет соответствовать новым записям вкаждый столбец.Затем справа от них в независимом столбце поставьте запятые, как указано

Затем вам придется каждый раз копировать ваши значения в средний столбец, затем просто вставлять и запускать

Я неузнать более простое решение

0 голосов
/ 10 сентября 2014
update T1
set T1.COST2=T1.TOT_COST+2.000,
T1.COST3=T1.TOT_COST+2.000,
T1.COST4=T1.TOT_COST+2.000,
T1.COST5=T1.TOT_COST+2.000,
T1.COST6=T1.TOT_COST+2.000,
T1.COST7=T1.TOT_COST+2.000,
T1.COST8=T1.TOT_COST+2.000,
T1.COST9=T1.TOT_COST+2.000,
T1.COST10=T1.TOT_COST+2.000,
T1.COST11=T1.TOT_COST+2.000,
T1.COST12=T1.TOT_COST+2.000,
T1.COST13=T1.TOT_COST+2.000
from DBRMAST T1 
inner join DBRMAST t2 on t2.CODE=T1.CODE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...