SQL Server 流程控制语句(四): WHILE 语句
一、语法
1.WHILE
WHILE <条件表达式>
BEGIN
<命令行|程序块>
END
先判断条件表达式的值,值为 true 时,执行循环体中的 <命令行|程序块>,遇到 END 会再次判断条件表达式的值,直到条件表达式的值为 false 时,才结束循环。
2.WHILE...CONTINUE...BREAK
WHILE <条件表达式>
BEGIN
<命令行|程序块>
[BREAK]
[CONTINUE]
[命令行|程序块]
END
在 WHILE 子句中还可以使用 CONTINUE 和 BREAK 命令控制 WHILE 循环中语句的执行。其中 CONTINUE 命令可以让程序跳过 CONTINUE 命令之后的语句,回到 WHILE 循环的第一行命令。BREAK 命令则让程序完全跳出循环,结束 WHILE 命令的执行。
二、实例
1.求1~10之间的和
declare @n int,@sum int
set @n=1
set @sum=0
while @n<=10
begin
set @sum=@sum+@n
set @n=@n+1
end
print @sum
2.求1~10之间的偶数的和
declare @x int,@sum int
set @x=1
set @sum=0
while @x<10
begin
set @x=@x+1
if @x%2=0
set @sum=@sum+@x
else
continue
print '只有@x是偶数才输出这句话'
end
print @sum