程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server控制語句的基本應用

SQL Server控制語句的基本應用

編輯:關於SqlServer

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操作語句。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved