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用户定义函数