sqlserver数据库的轮回利用的是while语句,请注重,sqlserver临时没有for轮回语句可以利用。那么,while轮回若何利用呢?若是在while轮回中跳出轮回,或者跳过本次轮回呢?
打开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
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!