BEGIN...END (Transact-SQL)

包括一系列的 Transact-SQL 语句,从而可以执行一组 Transact-SQL 语句。BEGIN 和 END 是控制流语言的关键字。

主题链接图标Transact-SQL 语法约定

语法

BEGIN
     { 
        sql_statement | statement_block 
     } 
END

参数

  • { sql_statement| statement_block }
    使用语句块定义的任何有效的 Transact-SQL 语句或语句组。

注释

BEGIN...END 语句块允许嵌套。

虽然所有的 Transact-SQL 语句在 BEGIN...END 块内都有效,但有些 Transact-SQL 语句不应分组在同一批处理或语句块中。有关详细信息,请参见批处理和所用的各个语句。

示例

在下面的示例中,BEGIN 和 END 定义一系列一起执行的 Transact-SQL 语句。如果不包括 BEGIN...END 块,则将执行两个 ROLLBACK TRANSACTION 语句,并返回两条 PRINT 消息。

USE AdventureWorks2008R2;
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 tranaction.
*/