SQL Server Begin End語句

在本教學中,將學習如何使用BEGIN...END語句將一組Transact-SQL語句包裝到語句塊中。

BEGIN…END語句簡介

BEGIN...END語句用於定義語句塊,語句塊由一組一起執行的SQL語句組成。 語句塊也稱為批處理。

換句話說,如果語句是句子,則BEGIN...END語句允許定義段落。

以下是BEGIN...END語句的語法:

BEGIN
    { sql_statement | statement_block}
END

在此語法中,在BEGINEND關鍵字之間放置一組SQL語句,例如:

BEGIN
    SELECT
        product_id,
        product_name
    FROM
        production.products
    WHERE
        list_price > 100000;

    IF @@ROWCOUNT=  0
        PRINT 'No product with price greater than 100000 found';
END

在這個例子中:

  • 首先,有一個以BEGIN關鍵字開頭並以END結尾的塊
    關鍵字。
  • 其次,在塊內有一個SELECT語句,可以查找價格大於100000的產品。 然後,使用IF語句來檢查查詢是否有返回任何產品,如果沒有產品返回則列印出一條消息。

嵌套BEGIN…END

語句塊可以嵌套。它可以在一個BEGIN...END語句中放置另一個BEGIN...END語句。
請考慮以下示例:

BEGIN
    DECLARE @name VARCHAR(MAX);

    SELECT TOP 1
        @name = product_name
    FROM
        production.products
    ORDER BY
        list_price DESC;

    IF @@ROWCOUNT <> 0
    BEGIN
        PRINT 'The most expensive product is ' + @name
    END
    ELSE
    BEGIN
        PRINT 'No product found';
    END;
END

在這個例子中,使用BEGIN...END語句來包裝整個語句塊。 在這個塊中,還使用了BEGIN...ENDIF…ELSE語句。

在本教學中,已瞭解SQL Server BEGIN...END語句以將Transact-SQL語句包裝到塊中。


上一篇: SQL Server存儲過程 下一篇: SQL Server用戶定義函數