Nie jestem pewien co do DO-WHILE w MS SQL Server 2008, ale możesz zmienić logikę pętli WHILE, aby UŻYWAĆ jak pętli DO-WHILE.
Przykłady pochodzą stąd:http://blog.sqlauthority.com/2007/10/24/sql-server-simple-example-of-while-loop-with-continue-and-break-keywords/
-
Przykład pętli WHILE
DECLARE @intFlag INT SET @intFlag = 1 WHILE (@intFlag <=5) BEGIN PRINT @intFlag SET @intFlag = @intFlag + 1 END GO
Zestaw wyników:
1 2 3 4 5
-
Przykład pętli WHILE ze słowem kluczowym BREAK
DECLARE @intFlag INT SET @intFlag = 1 WHILE (@intFlag <=5) BEGIN PRINT @intFlag SET @intFlag = @intFlag + 1 IF @intFlag = 4 BREAK; END GO
Zestaw wyników:
1 2 3
-
Przykład pętli WHILE ze słowami kluczowymi CONTINUE i BREAK
DECLARE @intFlag INT SET @intFlag = 1 WHILE (@intFlag <=5) BEGIN PRINT @intFlag SET @intFlag = @intFlag + 1 CONTINUE; IF @intFlag = 4 -- This will never executed BREAK; END GO
Zestaw wyników:
1 2 3 4 5
Ale spróbuj unikać pętli na poziomie bazy danych. Odnośnik.