У меня есть таблица, содержащая некоторые данные, которые необходимо обновить. Предположим, что структура таблицыfor loop in transact sql
(Code, Col1, Col2, Col3)
мне нужно запустить обновление на конкретных строк, которые имеют значение кода (скажем, значения являются (1,3,4,5,9,6,30,25,87,100)
).
Значение Col3 - Col1 + Col2, а значения Col1 - (1001,1025,400,25,963,13,432,25,87,100)
.
Я создал следующий SQL-запрос:
Declare @Col1 float
Declare @Code nvarchar
set @Col1 = 1001
set @Code = 1
update MyTable set
Col1 = @Col1,
Col3 = @Col1 + Col2
where Code = @Code
Таким образом, вместо того, чтобы скопировать весь этот код после Declare линий и вручную присвоения значений, можно создать два массива, один для значений COL1 другой для значений кода и итерации через Кодекс и обновление его динамически?
Я не совсем понимаю, что вы намерены делать, но я абсолютно уверен, что вам не нужна петля. Помните, что sql настроен на основе набора, а не на основе строк. – HoneyBadger