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 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!