sqlserver怎么循环
打开sql server management studio管理工具,点击【新建查询】菜单按钮,就会出现一个空白的窗口,这个窗口是用来写sql语句的,本文所有的演示sql语句都在这个窗口完成
在sql语句窗口中,定义一个整型变量,设置初始值为10
declare @n int = 10;
使用while循环语句,从上面定义的变量10开始,一直输出到数字0,就可以使用下面的while循环:
while @n >= 0
begin
-- 输出当前变量的值
print @n;
-- 变量减一
set @n = @n - 1;
end
sql语句写完之后,点击上面的【执行】按钮,或者按F5,就能运行当前窗口中的sql语句,从运行结果可以看出,变量从10一直到0全部一个一个的输出来了
如果对于某些确定的条件,不想执行某些语句,就可以使用if条件判断跳过这行语句,比如,如果@n=5,就不输出5
-- 定义一个整型变量,设置初始值为10
declare @n int = 10;
-- 通过while循环,从上面变量一直循环到0,并且输出
while @n >= 0
begin
-- 如果@n=5,就不执行某一段语句,可以使用if表达式判断
if @n <> 5
begin
-- 输出当前变量的值
print @n;
end
-- 变量减一
set @n = @n - 1;
end
如果当变量@n=5,就直接结束循环的话,就可以是用break语句了。当满足条件后,在while循环内部break语句后面的所有sql都不执行了
-- 定义一个整型变量,设置初始值为10
declare @n int = 10;
-- 通过while循环,从上面变量一直循环到0,并且输出
while @n >= 0
begin
-- 如果@n=5,就不执行某一段语句,可以使用if表达式判断
if @n <> 5
begin
-- 输出当前变量的值
print @n;
end
-- 如果变量等于5,就直接跳出循环
if @n = 5
begin
break;
end
-- 变量减一
set @n = @n - 1;
end
还有一种方式是使用continue语句,结束本次循环,继续下一次循环。请注意,当满足条件后,执行continue之后,在while循环内部,continue后面的所有语句都不执行了
-- 定义一个整型变量,设置初始值为4
declare @n int = 4;
-- 通过while循环,从3一直循环到0,并且输出
while @n > 0
begin
-- 变量减一
set @n = @n - 1;
-- 当@n = 2 的时候,使用continue结束本次循环
if @n = 2
begin
continue;
end
print '不是2的时候输出,@n = ' + cast(@n as varchar)
end