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
これは基本的に個々の場所番号を返すカーソルを介して行われます。ロケーション番号は、特定の時間(20)を繰り返すwhileループ内で使用する必要があるカーソルからの変数として格納されます。私が返すのは、位置番号のリスト全体に対してカーソルが移動しているだけですが、更新ステートメントでwhileループを繰り返すわけではありません。A Whileループwhileループwhileループ - SQL
1を参照してください20
<ではありません。 'WHILE'ステートメントの直前に' SET @i = 1'(または0、または必要なもの)を挿入しますか? 2)。カーソルとWhileループを使用せずにこれを行う方法を見つける。 – MatBailie