14 янв. 2018 г.

Перебрать каждую строку MS SQL

Что бы перебрать строки из БД TransitN таблицы EXBARC MS SQL и для каждой строки обновить значения поля DELFLAG в значение 1 нужно выполнить данную конструкцию

declare some_cursor cursor
for
       select  PACKID, DELFLAG from EXBARC
open some_cursor
       declare  @counter int
       declare  @int_var int, @string_var varchar(100)
       set @counter = 0
fetch next from some_cursor INTO  @int_var, @string_var
while @@FETCH_STATUS = 0
begin
       set @counter = @counter + 1
       UPDATE [TransitN].[dbo].[EXBARC] SET [DELFLAG] = 1 WHERE [PACKID] = @int_var
       fetch next from some_cursor INTO  @int_var, @string_var
end
select @counter as final_count
       close some_cursor
deallocate some_cursor


где:
select  PACKID, DELFLAG from EXBARC – указываем поля которые нужно выбрать и таблица
  
declare  @counter int

declare  @int_var int, @string_var varchar(100) – объявляем количество переменных, количеству выше выбранных полей
 

CopyPaste Copyright © 2017 - |- Шаблон создан O Pregador - |- Отредактирован myr4ik07