SQL Server控制語句的基本應用

來源:互聯網
上載者:User

1.語句塊(BEGIN…END)
語句塊文法如下:
BEGIN
<SQL語句或程式塊>
END
BEGIN…END用來設定一個語句塊,可以將多條Transact-SQL語句封裝起來構成一個語句塊,在處理時,整個語句塊被視為一條語句。BEGIN…END經常用在條件陳述式中,如IF…ELSE 或WHILE迴圈中。BEGIN…END語句可以嵌套使用。

2.判斷語句(IF…ELSE)
通常電腦是按順序執行程式中的語句,但是在許多情況下,語句執行的順序以及是否執行依賴於程式啟動並執行中間結果,在這種情況下,必鬚根據某個變數或運算式的值作出判斷,以決定執行哪些語句或不執行哪些語句。這時可以利用IF…ELSE語句作出判斷,選擇執行某條語句或語句塊。
判斷語句文法如下:
IF <條件運算式>
<命令列或語句塊1>
[ ELSE [條件運算式]
<命令列或語句塊2> ]

3 檢測語句(IF…EXISTS)
IF…EXISTS語句用於檢測資料是否存在,而不考慮與之匹配的行數。對於存在性檢測而言,使用IF…EXISTS要比使用COUNT(*)>0好,效率更高,因為只要找到第一個匹配的行,伺服器就會停止執行SELECT語句。
檢測語句文法如下:
 IF [NOT] EXISTS (SELECT查詢語句)
  <命令列或語句塊1>
  [ELSE]
   <命令列或語句塊2>

4 多分支判斷語句(CASE…WHEN)
CASE…WHEN結構提供了比IF…ELSE結構更多的選擇和判斷機會,使用它可以很方便地實現多分支判斷,從而避免多重IF…ELSE語句嵌套使用。多分支判斷語句CASE…WHEN文法有兩種格式:
第一種格式文法如下:
CASE <算術運算式>
WHEN <算術運算式> THEN <運算式>
WHEN <算術運算式> THEN <運算式>
[ELSE <算術運算式>]
END
第二種格式文法如下:
CASE
WHEN <條件運算式> THEN <運算式>
WHEN <條件運算式> THEN <運算式>
[ELSE <運算式>]
END

5 迴圈語句(WHILE)
迴圈語句可以設定重複執行SQL語句或語句塊的條件,只要指定的條件為TRUE(條件成立),就重複執行語句。
迴圈語句文法如下:
WHILE <條件運算式>
BEGIN
<命令列或程式塊>
[BREAK]
[CONTINUE]
[命令列或程式塊]
END

6 跳躍陳述式(GOTO)
使用跳躍陳述式GOTO可以改變程式執行的流程,使程式跳到標有標識符的指定程式行,再繼續往下執行,作為跳轉目標的標識符可以是數字與字元的組合,但必須以“:”結尾。
跳躍陳述式文法如下:
GOTO 標識符:

7 返回語句(RETURN)
返回語句用於結束當前程式的執行返回到上一個調用它的程式或其它程式,在括弧內可指定一個傳回值。返回語句可使程式從批處理、預存程序、觸發器中無條件退出,不再執行RETURN之後的任何語句。返回語句文法如下:
RETURN ([整數值])

8 延期執行語句(WAIT…FOR)
WAITFOR語句用來暫時停止程式執行,直到所設定的等待時間已過或所設定的時刻已到,才繼續往下執行。其中時間必須為DATETIME 類型的資料,延遲時間和時刻均採用“HH:MM:SS”格式,在WAITFOR語句中不能指定日期,並且時間長度不能超過24小時。
延期執行語句文法如下:
WAITFOR { DELAY <‘時間'> | TIME <‘時間'> }
sql_statement
DELAY:用來設定等待的時間間隔,最多可達24 小時。
TIME:用來設定等待結束的時間點。
sql_statement:設定的等待時間已過或所設定的時刻已到,要繼續執行的SQL動作陳述式。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.