多语言展示
当前在线:555今日阅读:195今日分享:41

sqlserver数据库while循环,结束循环怎么使用?

sqlserver数据库的循环使用的是while语句,请注意,sqlserver暂时没有for循环语句可以使用。那么,while循环如何使用呢?如果在while循环中跳出循环,或者跳过本次循环呢?
工具/原料

sqlserver

方法/步骤
1

打开sql server management studio管理工具,点击【新建查询】菜单按钮,就会出现一个空白的窗口,这个窗口是用来写sql语句的,本文所有的演示sql语句都在这个窗口完成

2

在sql语句窗口中,定义一个整型变量,设置初始值为10      declare @n int = 10;

3

使用while循环语句,从上面定义的变量10开始,一直输出到数字0,就可以使用下面的while循环:while @n >= 0begin    -- 输出当前变量的值    print @n;    -- 变量减一    set @n = @n - 1;end

4

sql语句写完之后,点击上面的【执行】按钮,或者按F5,就能运行当前窗口中的sql语句,从运行结果可以看出,变量从10一直到0全部一个一个的输出来了

5

如果对于某些确定的条件,不想执行某些语句,就可以使用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

6

如果当变量@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

7

还有一种方式是使用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

推荐信息