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退出过程,循环体内满足条件以后的语句及循环体外的语句均不执行