Microsoft SQL Server
WHILEループ
サーチ…
備考
WHILE
ループまたはその他の反復プロセスを使用するのは、通常、SQL Serverでデータを処理する最も効率的な方法ではありません。
可能であれば、同じ結果を得るために、データにセットベースのクエリを使用する方がよいでしょう
Whileループの使用
WHILE
ループはCURSORS
代替として使用できます。次の例では、0から99までの数字が出力されます。
DECLARE @i int = 0;
WHILE(@i < 100)
BEGIN
PRINT @i;
SET @i = @i+1
END
while集約関数を使用したwhileループ
DECLARE @ID AS INT;
SET @ID = (SELECT MIN(ID) from TABLE);
WHILE @ID IS NOT NULL
BEGIN
PRINT @ID;
SET @ID = (SELECT MIN(ID) FROM TABLE WHERE ID > @ID);
END
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow