批處理、控制流語句解析

批處理

一、定義:

    1、包含一個或多個的T-SQL語句語句的組,從應用程序一次性的發送到SQL SERVER中執行

    2、可執行計劃:SQL SERVER將批處理語句編譯成一個可執行單元。執行計劃中的語句每次招待一條。

    3、一個批處理以GO結束。

二、建立批處理時應遵循以下規則:

    1、所有批處理必須以CREATE語句開頭。

    2、不能在同一批處理中更改表結構,再引用新添加的列。

    3、EXECUTE語句是批處理語句的第一句,則不需要加EXECUTE關鍵字;否則,需要添加EXECUTE關鍵字。

控制流語句

一、作用:程序流程控制語句主要用於控制T-SQL語句、語句塊和存儲過程的執行過程。

    1.1、begin-end語句塊

        1.1.1、作用:將多條T-SQL語句組合在一起,組成一個邏輯塊,當控制流語句必須執行一個或兩個以上的T-SQL語句的語句塊時使用。

        1.1.2、說明

           a、相當於很多語言中的{}。

           b、將多條語句封裝成一條語句塊,整個語句塊等同於一條語句。

           c、常用於if..else while..中處理一條語句的不足。

    1.2、無條件轉移(GOTO)

          格式:GOTO標號處

          作用:本語句將T-SQL 語句的執行順序無條件的轉移到用戶指定的標號處(遞歸運算)

          示例:使用T-SQL語句,求10的階乘

          DECLARE @m int=1,@n int=2
              xx: --指定標號處
              SELECT @m=@m*@n;
              SELECT @n=@n+1;
              IF(@n <=10)
                 goto xx
              else
                 select @m as '階乘和',@n as '自增值'

             運行結果如下:

            

    1.3、判斷語句(while)

    while(布爾表達式)

    begin

          語句塊

    end

    a、作用:當布爾表達式爲真時,會持續執行語句塊,直到條件不成立時

    b、同時使用的語句有兩個:break,continue

         break:執行語句時,程序無條件退出整個while循環

         continue:執行語句時,程序跳出continue後面的語句,而立即執行下一層循環

    1.4、waitfor

     a、作用:掛起執行連接,直到超過指定間隔或者達到一天中指定的時間

     b、語法格式:

           指定時間間隔:waitfor delay 指定時間間隔

           指定時間點:waitfor time 時間點

           在執行語句前等待2秒

           waitfor delay '00:00:02'

           select * from student

           指定時間點,執行語句(指定到每天2點執行)

           waitfor time '02:00:00'

           select * from student


    



發佈了163 篇原創文章 · 獲贊 15 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章