日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

SQL SERVER中的流程控制語句

瀏覽:23日期:2023-03-06 14:25:24
目錄
  • 批處理
  • 1、BEGIN...AND語句
  • 2、IF...ELSE語句
  • 3、 CASE語句
  • 4、 WHILE語句
  • 5、無條件退出語句RETURN
  • 6、無條件跳轉語句GOTO
  • 7、WAITFOR語句
    • 7.1 DELAY參數
    • 7.2 TIME參數

T-SQL中用來編寫流程控制模塊的語句有:BEGIN...AND語句、IF...ELSE語句、CASE語句、WHILE語句、GOTO語句、BREAK語句、WAITFOR語句和RETURN語句。

批處理

一個批處理段是由一個或者多個語句組成的一個批處理,之所以叫批處理是因為所有語句一次性被提交到一個SQL實例。

  • 批處理是分批提交到SQL Server示例,因此在不同的批處理里局部變量不可訪問。
  • 在不同批處理中,流程控制語句不能跨批處理。
  • 如果想讓多個語句分多次提交到SQL實例,則需要使用GO關鍵字。GO關鍵字本身并不是一個SQL語句,GO關鍵字可以看作是一個批處理結束的標識符,當遇到GO關鍵字時,當前GO之前的語句會作為一個批處理直接傳到SQL實例執行。
DECLARE @i int;
  SET @i = 1;
  GO--分批了
  PRINT @i  --@i在這個批里未定義

1、BEGIN...AND語句

語句塊是多條Transact-SQL語句組成的代碼段,從而可以執行一組Transact-SQL語句。經常與while或if...else組合起來使用,可以相互嵌套。

示例:

DECLARE @count INT
SELECT @count = 0
WHILE @count < 10
BEGIN
    PRINT "count = " + CONVERT(VARCHAR(10), @count)
    SELECT @count = @count + 1
END

PRINT "loop finished, count = " + CONVERT(VARCHAR(10), @count)

2、IF...ELSE語句

IF...ELSE語句用于在執行一組代碼之前進行條件判斷,根據判斷的結果執行不同的代碼。IF...ELSE語句語句對布爾表達式進行判斷,如果布爾表達式返回為TRUE,則執行IF關鍵字后面的語句塊;如果布爾表達式返回FALSE,則執行 ELSE關鍵字后面的語句塊。

語法:

IF Boolean_expression 
     { sql_statement | statement_block } 
[ ELSE 
     { sql_statement | statement_block } ]

示例:

DECLARE @score INT
SET @score = 100
IF @score >= 60
    PRINT "及格"
ELSE
    PRINT "不及格"

3、 CASE語句

CASE語句是多條件分支語句,相比IF...ELSE語句,CASE語句進行分支流程控制可以使代碼更加清晰,易于理解。CASE語句根據表達式邏輯值的真假來決定執行的代碼流程。

語法:

CASE input_expression 
     WHEN when_expression THEN result_expression [ ...n ] 
     [ ELSE else_result_expression ] 
END

CASE
     WHEN Boolean_expression THEN result_expression [ ...n ] 
     [ ELSE else_result_expression ] 
END

示例:

DECLARE @score INT
SET @score = 100

SELECT CASE @score 
    WHEN 100 THEN "滿分"
    WHEN 60 THEN "及格"
END
AS "成績"

或者

DECLARE @score INT
SET @score = 100

SELECT CASE 
    WHEN @score >= 90 THEN "優秀"
    WHEN @score >= 80 THEN "良好"
    WHEN @score >= 70 THEN "中等"
    WHEN @score >= 60 THEN "及格"
    ELSE "不及格"
END
AS "成績"

4、 WHILE語句

WHILE語句根據條件重復執行一條或多條T-SQL代碼,只要條件表達式為真,就循環執行語句。可以使用 BREAK 和 CONTINUE 關鍵字在循環內部控制 WHILE 循環中語句的執行。

語法:

WHILE Boolean_expression 
     { sql_statement | statement_block | BREAK | CONTINUE }

參數:

  • Boolean_expression:返回 TRUE 或 FALSE 的表達式。 如果布爾表達式中含有 SELECT 語句,則必須用括號將 SELECT 語句括起來。
  • {sql_statement | statement_block}:Transact-SQL 語句或用語句塊定義的語句分組。 若要定義語句塊,請使用控制流關鍵字 BEGIN 和 END。
  • BREAK:導致從最內層的 WHILE 循環中退出。 將執行出現在 END 關鍵字(循環結束的標記)后面的任何語句。
  • CONTINUE:使 WHILE 循環重新開始執行,忽略 CONTINUE 關鍵字后面的任何語句。
DECLARE @i int;
SET @i = 0;
WHILE(@i < 10)
BEGIN
    SET @i = @i + 1;
    IF(@i % 2 = 0)
    BEGIN
PRINT("跳過2的倍數" + CAST(@i AS varchar));
CONTINUE;
    END
    ELSE IF (@i = 7)
    BEGIN
PRINT("到" + CAST(@i AS varchar) + "就跳出循環");
BREAK;
    END
    PRINT @i;
END

5、無條件退出語句RETURN

RETURN語句用于使程序從一個查詢、存儲過程或批量處理中無條件返回,其后面的語句不再執行。如果在存儲過程中使用return語句,那么此語句可以指定返回給調用應用程序、批處理或過程的負整數;如果沒有為return指定整數值,那么該存儲過程將返回0。

BEGIN
    PRINT(1);
    PRINT(2);
    RETURN;
    PRINT(3);    --在RETURN之后的代碼不會被執行,因為會跳過當前批處理
END
GO
BEGIN
    PRINT(4);
END

6、無條件跳轉語句GOTO

GOTO語句可以使程序無條件跳轉到指定的程序執行點,增加了程序設計的靈活性。但破壞了程序的結構化,使程序結構變得復雜而且難以測試。

使用說明:語句標識符可以是數字或者字母的組合,但必須以":"結束。而在GOTO語句后的標識符不必帶":"。

注意事項:GOTO語句和跳轉標簽可以在存儲過程、批處理或語句塊中的任何地方使用,但不能超出批處理的范圍。

DECLARE @i int;

SET @i = 1;
SET @i = 2;
SET @i = 3;
SET @i = 4;
GOTO ME;
SET @i = 5;  --這行被跳過了
SET @i = 6;  --這行被跳過了
SET @i = 7;  --這行被跳過了

ME:PRINT("跳到我了?");
PRINT @i

輸出結果如下:

跳到我了?
4

7、WAITFOR語句

waitfor語句用于掛起語句的執行,直到指定的時間點或者指定的時間間隔。

語法:

WAITFOR 
{
    DELAY "time_to_pass" 
  | TIME "time_to_execute" 
  | [ ( receive_statement ) | ( get_conversation_group_statement ) ] 
    [ , TIMEOUT timeout ]
}

在waitfor語句中不能包含打開游標,定義視圖這樣的操作。在包含事務的語句中不要使用waitfor語句,因為waitfor語句在時間點或時間間隔執行期間將一直擁有對象的鎖,當事務中包含waitfor語句,事務的其他語句又需要訪問被鎖住的數據對象事就容易發生死鎖現象。

7.1 DELAY參數

DELAY參數指定了等待的時間段。不能指定天數,只能指定小時數、分鐘數和秒數。允許延遲的最長時間為24小時。

WAITFOR DELAY "01:00"

將運行WAITFOR語句前的任何代碼,然后到達WAITFOR語句,停止1小時,之后繼續執行下一條語句中的代碼。

7.2 TIME參數

TIME參數指定到達指定時間的等待時間。

WAITFOR TIME "01:00"

將運行WAITFOR語句前的任何代碼,然后到達WAITFOR語句,直到凌晨1點停止執行,之后執行WAITFOR語句后的下一條語句。

到此這篇關于SQL SERVER流程控制語句的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持。

標簽: MsSQL
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美亚洲日本精品| 久久99性xxx老妇胖精品| 久久亚州av| 国产精品视频一区二区三区四蜜臂 | 欧美亚洲自偷自偷| 伊人久久亚洲美女图片| 日韩精品一卡| 在线人成日本视频| 成人国产精品一区二区免费麻豆| 国产精品a久久久久| 欧美黄色一区| 免费在线成人| 国产不卡精品在线| 成人台湾亚洲精品一区二区| 精品国内亚洲2022精品成人| 欧美激情日韩| 精品精品久久| 日韩精品永久网址| 国产一区二区三区四区二区| 手机在线电影一区| 久久久久久久久久久9不雅视频| 91精品精品| 噜噜噜久久亚洲精品国产品小说| 国产精品毛片一区二区三区| 亚洲精品麻豆| 国产欧美另类| 中文一区一区三区高中清不卡免费| 日韩欧美另类一区二区| 美女亚洲一区| 视频一区中文字幕精品| 国产欧美三级| 久久uomeier| 不卡视频在线| 久久午夜精品一区二区| 日韩一区精品| 久久精品国产亚洲aⅴ| 久久精品国内一区二区三区水蜜桃| 女同性一区二区三区人了人一| 亚洲精品高潮| 精品成av人一区二区三区 | 欧美日韩一区二区三区视频播放| 9久re热视频在线精品| 天堂久久一区| 国产精品成久久久久| 好吊一区二区三区| 日韩国产欧美三级| 久久精品资源| 99视频+国产日韩欧美| 久久激情五月婷婷| 日韩大片在线| 日本精品一区二区三区在线观看视频 | 黄色亚洲精品| 久久国产生活片100| 日韩在线二区| 一区二区精品| 麻豆理论在线观看| 免费久久精品视频| 高清不卡一区| 美女精品在线| 精品国产网站| 三级一区在线视频先锋| 精品久久久网| 亚洲色图网站| 黄色在线网站噜噜噜| 先锋亚洲精品| 久久这里只有精品一区二区| 激情综合网站| 欧美aⅴ一区二区三区视频| 欧美女激情福利| 国产精品第十页| 在线亚洲激情| 高清不卡一区| 日韩高清欧美激情| 日韩欧美少妇| 久久国产精品色av免费看| 蜜桃tv一区二区三区| 国产精品视频3p| 午夜在线视频观看日韩17c| 美女视频黄久久| 水野朝阳av一区二区三区| 国产 日韩 欧美 综合 一区 | 人人香蕉久久| 国产精品亚洲四区在线观看| 欧美日韩四区| 欧美www视频在线观看| 日韩一区二区三区在线看| 久久麻豆精品| 欧美激情网址| 亚洲精品九九| 最新亚洲激情| 欧美日韩国产观看视频| 欧美精品观看| 亚洲毛片视频| 亚洲一区二区三区高清不卡| 日韩啪啪电影网| 国产激情久久| 日本欧美一区二区| 99亚洲视频| 在线视频观看日韩| 四季av一区二区凹凸精品| 国产精品一区二区三区av| 中文字幕一区日韩精品| 韩日一区二区三区| 欧美日韩免费观看视频| 韩日一区二区| 免费一级欧美片在线观看网站 | 国产伦乱精品| 亚洲天堂av资源在线观看| 青青久久av| 国产美女高潮在线观看| 精品国产aⅴ| 日韩国产在线一| 日日夜夜免费精品视频| 男人的天堂久久精品| 国产精品美女| 99国产精品久久久久久久| 久久香蕉国产| 欧美日韩视频网站| 超碰超碰人人人人精品| 成人国产精品一区二区网站| 国产精品日韩精品在线播放| 婷婷综合电影| 麻豆精品网站| 天堂网在线观看国产精品| 91精品蜜臀一区二区三区在线| 麻豆91精品视频| 久久国产福利| 老司机精品久久| 免费日韩av| 午夜久久99| 中文在线а√在线8| 亚洲精品**中文毛片| 日韩久久电影| 激情综合自拍| 99视频一区| 中文不卡在线| 亚洲精品无吗| 国产一卡不卡| 国产精品香蕉| 国产精品白丝一区二区三区| 国产剧情在线观看一区| 日本午夜精品久久久| 国产三级一区| 精品中文字幕一区二区三区| 水蜜桃久久夜色精品一区| 国产精品国产三级国产在线观看| 久久久久久夜| 久久久久91| 日韩午夜在线| 日本欧洲一区二区| 欧美一区=区三区| 精品入口麻豆88视频| 另类中文字幕国产精品| 欧美日韩国产欧| 日韩精品免费观看视频| 国产精品毛片久久久| 美女视频免费精品| 国产不卡一区| 激情综合网站| 亚洲精品影院在线观看| 国产欧美一区二区三区国产幕精品 | 四虎影视精品| 美女网站久久| 欧美日韩亚洲一区| 欧美好骚综合网| 蜜臀av免费一区二区三区| 不卡视频在线| 日本a口亚洲| 精品一区二区三区四区五区| 日韩国产欧美| 久久亚洲不卡| 欧美激情99| 欧洲亚洲一区二区三区| 日韩专区欧美专区| 国产美女久久| 欧美日韩中文一区二区| 日本亚州欧洲精品不卡| 高清一区二区三区av| 影音先锋国产精品| 国产亚洲一区| 久久久亚洲一区| 亚洲精品成人| 欧美亚洲网站| 最新中文字幕在线播放| 亚洲黄页一区| 国产精品mv在线观看| 国产韩日影视精品| 欧美欧美黄在线二区| 色老板在线视频一区二区| 日本va欧美va瓶| 日韩三区在线| 国产欧美一区二区三区国产幕精品| 99久久九九| 久久av中文| 亚洲激情精品| 久久91视频| 日韩视频一区| 韩日一区二区| 日本 国产 欧美色综合| 免费一区二区三区在线视频|