Не съм сигурен за DO-WHILE в MS SQL Server 2008, но можете да промените логиката на цикъла си WHILE, така че да се ИЗПОЛЗВА като цикъл DO-WHILE.
Примерите са взети от тук:http://blog.sqlauthority.com/2007/10/24/sql-server-simple-example-of-while-loop-with-continue-and-break-keywords/
Пример за цикъл WHILE
DECLARE @intFlag INT SET @intFlag = 1 WHILE (@intFlag <=5) BEGIN PRINT @intFlag SET @intFlag = @intFlag + 1 END GO
Резултати:
1 2 3 4 5
Пример за цикъл WHILE с ключова дума BREAK
DECLARE @intFlag INT SET @intFlag = 1 WHILE (@intFlag <=5) BEGIN PRINT @intFlag SET @intFlag = @intFlag + 1 IF @intFlag = 4 BREAK; END GO
Резултати:
1 2 3
Пример за цикъл WHILE с ключови думи CONTINUE и 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
Резултати:
1 2 3 4 5
Но опитайте даизбягвате примки на ниво база данни.Справка.