declare @i int
declare @skool float
declare schoolCursor cursor for
select distinct choice from tempstuas
open schoolCursor
fetch next from schoolCursor into @skool
while @@fetch_status = 0
begin
while @i < 20
begin
update top(1) tempstuas set [email protected] where cnt = '' and cat = 1 and [email protected]
update top(1) tempstuas set [email protected] where cnt = '' and cat = 2 and [email protected]
update top(1) tempstuas set [email protected] where cnt = '' and cat=3 and [email protected]
set @i = @i + 1
end
fetch next from schoolCursor
end
close schoolCursor
deallocate schoolCursor
Это в основном происходит с помощью курсора, который возвращает индивидуальный номер места. Номер местоположения сохраняется как переменная из курсора, который мне нужно использовать внутри цикла while, который выполняет итерацию через определенное количество раз (20). То, что я вернусь, - это всего лишь курсор для всего списка номеров местоположений, но не выполняет итерацию по циклу while с помощью операторов обновления.Цикл While внутри цикла while while - SQL
1). 'SET @i = 1' (или 0 или что вам нужно) непосредственно перед оператором' WHILE'? 2). Найдите способ сделать это без использования курсоров и циклов. – MatBailie