使用 BEGIN...END
BEGIN 和 END 陳述式是用以將多個 Transact-SQL 陳述式群組成一個邏輯區塊。若有流程控制陳述式必須執行含有二或多個 Transact-SQL 陳述式的區塊,就可以使用 BEGIN 和 END 陳述式。
例如,IF 陳述式控制僅執行一個 Transact-SQL 陳述式的情況時,就不需要使用 BEGIN 或 END 陳述式:
IF (@@ERROR <> 0)
SET @ErrorSaveVariable = @@ERROR
如果 @@ERROR 為 0,僅跳過一個 SET 陳述式。
當 IF 的評估結果為 FALSE 時,使用 BEGIN 和 END 陳述式能使 IF 陳述式略過陳述式區塊:
IF (@@ERROR <> 0)
BEGIN
SET @ErrorSaveVariable = @@ERROR
PRINT 'Error encountered, ' +
CAST(@ErrorSaveVariable AS VARCHAR(10))
END
BEGIN 和 END 陳述式必須成對使用,缺一不可。BEGIN 陳述式是自己單獨一行,下方接著 Transact-SQL 陳述式區塊。最後,END 陳述式單獨一行出現,表示區塊結束。
[!附註]
BEGIN 和 END 陳述式區塊必須至少包含一個 Transact-SQL 陳述式。
BEGIN 和 END 陳述式的使用時機為:
WHILE 迴圈需要包含陳述式區塊。
CASE 運算式的元素需要包含陳述式區塊。
IF 或 ELSE 子句需要包含陳述式區塊。