BEGIN...END (Transact-SQL)
含括一系列的 Transact-SQL 陳述式,以便執行一組 Transact-SQL 陳述式。 BEGIN 和 END 是流程控制語言關鍵字。
適用於:SQL Server (SQL Server 2008 透過目前版本)、Windows Azure SQL 資料庫 (初始版本,透過目前版本)。 |
語法
BEGIN
{
sql_statement | statement_block
}
END
引數
- { sql_statement| statement_block }
這是藉由使用陳述式區塊所定義的任何有效 Transact-SQL 陳述式或陳述式分組。
備註
BEGIN...END 區塊可以有巢狀結構。
雖然 BEGIN...END 區塊中所有的 Transact-SQL 陳述式都是有效的陳述式,但某些 Transact-SQL 陳述式不應在同一批次或陳述式區塊中分成一組。
範例
在下列範例中,BEGIN 和 END 會定義一系列同時執行的 Transact-SQL 陳述式。 如果沒有 BEGIN...END 區塊,這兩個 ROLLBACK TRANSACTION 陳述式都要執行,而且都會傳回這兩個 PRINT 訊息。
USE AdventureWorks2012;
GO
BEGIN TRANSACTION;
GO
IF @@TRANCOUNT = 0
BEGIN
SELECT FirstName, MiddleName
FROM Person.Person WHERE LastName = 'Adams';
ROLLBACK TRANSACTION;
PRINT N'Rolling back the transaction two times would cause an error.';
END;
ROLLBACK TRANSACTION;
PRINT N'Rolled back the transaction.';
GO
/*
Rolled back the transaction.
*/