sql server中do while循环怎么写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server中do while循环怎么写相关的知识,希望对你有一定的参考价值。

设置重复执行 SQL 语句或语句块的条件。只要指定的条件为真,就重复执行语句。 可以使用 BREAK 和 CONTINUE 关键字在循环内部控制 WHILE 循环中语句的执行。

1.WHILE 循环
DECLARE @intFlag INT
SET @intFlag = 1
WHILE (@intFlag <=5)
BEGIN
PRINT @intFlag
SET @intFlag = @intFlag + 1
END
GO
ResultSet:
1
2
3
4
5

2.WHILE 循环里面加 BREAK 关键字
DECLARE @intFlag INT
SET @intFlag = 1
WHILE (@intFlag <=5)
BEGIN
PRINT @intFlag
SET @intFlag = @intFlag + 1
IF @intFlag = 4
BREAK;
END
GO
ResultSet:
1
2
3

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
ResultSet:
1
2
3
4
5

参考链接:http://msdn.microsoft.com/zh-cn/library/ms178642.aspx
参考技术A 在以下示例中,如果产品的平均标价小于 $300,则 WHILE 循环将价格乘 2,然后选择最高价格。 如果最高价格小于或等于 $500,则 WHILE 循环重新开始,并再次将价格乘 2。 该循环不断地将价格乘 2,直到最高价格超过 $500,然后退出 WHILE 循环,并输出一条消息。
USE AdventureWorks2012;
GO
WHILE (SELECT AVG(ListPrice) FROM Production.Product) < $300
BEGIN
UPDATE Production.Product
SET ListPrice = ListPrice * 2
SELECT MAX(ListPrice) FROM Production.Product
IF (SELECT MAX(ListPrice) FROM Production.Product) > $500
BREAK
ELSE
CONTINUE
END
PRINT 'Too much for the market to bear';

在sql server中循环语句 for要怎么使用

参考技术A sql server里有循环语句,在sqlserver 数据库中,while循环语句是最常用的语句之一,for指定次数用的很少。比如:
SQL循环语句
declare @i int
set @i=1
while @i<30
begin
insert into test (userid) values(@i)
set @i=@i+1
end

while 条件
begin
执行操作
set @i=@i+1
end
WHILE
设置重复执行 SQL 语句或语句块的条件,只要指定的条件为真,就重复执行语句,可以使用 BREAK 和 CONTINUE 关键字在循环内部控制 WHILE 循环中语句的执行。
语法
WHILE Boolean_expression
sql_statement | statement_block
[ BREAK ]
sql_statement | statement_block
[ CONTINUE ]
参数
Boolean_expression
返回 TRUE 或 FALSE 的表达式。如果布尔表达式中含有 SELECT 语句,必须用圆括号将 SELECT 语句括起来。
sql_statement | statement_block
Transact-SQL 语句或用语句块定义的语句分组,若要定义语句块,请使用控制流关键字 BEGIN 和 END。
BREAK本回答被提问者采纳

以上是关于sql server中do while循环怎么写的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver怎么循环

在sql server中循环语句 for要怎么使用

sql while循环语句问题

shell里while循环语法怎么写?

shell的while循环怎么写

求sql server 循环语句的强细写法,要求有例子