学而实习之 不亦乐乎

SQL Server 流程控制语句(四): WHILE 语句

2022-08-05 08:11:09

一、语法

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