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