SQLServer编写存储过程中,我们会使用break、continue及return来中断程序的执行,这三者有什么区别,在此做以说明

break

退出 WHILE循环,执行循环体以后的语句,示例代码如下

declare @num int=10,
        @i int =0
while(@i<@num)
  begin
    set @i = @i +1
    if(@i=5) 
      break
    print @i
  end
  print '执行完毕'

执行结果为:
0
1
2
3
4
执行完毕
当执行到@i=5时,跳出循环,继续执行循环体(end为标志)外语句

continue

满足条件的循环体内的以后语句不再执行,进入到下一个循环,示例代码如下

declare @num int=10,
        @i int =0
while(@i<@num)
  begin
    set @i = @i +1
    if(@i=5) 
      continue
    print @i
  end
  print '执行完毕'

执行结果如下
1
2
3
4
6
7
8
9
10
执行完毕
循环体内本次循环continue以后的语句不再执行,进入下一个循环

return

直接退出过程(存储过程或函数),示例代码如下:

declare @num int=10,
        @i int =0
while(@i<@num)
  begin
    set @i = @i +1
    if(@i=5) 
      return
    print @i
  end
  print '执行完毕'

执行结果如下:
1
2
3
4
执行到@i=5退出过程,循环体内满足条件以后的语句及循环体外的语句均不执行

更多推荐

SQLServer存储过程中break、continue及return的使用