10

可能重复:
我什么时候需要在 SQL Server 中使用 Begin / End Blocks 和 Go 关键字?

例子:

CREATE PROCEDURE DoSomething
AS
BEGIN
    SET NOCOUNT ON;

    -- Insert lots of statements in here, including other stored procedures.
END

你需要BEGIN和END吗?如果你有或没有它们有什么不同吗?

4

2 回答 2

14

它们是可选的。

来自 MSDN -创建过程

从命令的定义 -

AS { [ BEGIN ] sql_statement [;] [ ...n ] [ END ] }

稍后在页面中:

{ [ 开始 ] sql_statement [;] [ ...n ] [ 结束 ] }

包含过程主体的一个或多个 Transact-SQL 语句。您可以使用可选的 BEGIN 和 END 关键字将语句括起来。

于 2012-10-02T20:36:08.287 回答
7

CREATE PROCEDURE 文档中所述,它们是可选的。

{ [ 开始 ] sql_statement [;] [ ...n ] [ 结束 ] }

包含过程主体的一个或多个 Transact-SQL 语句。您可以使用可选的[emphasis added] BEGIN 和 END 关键字将语句括起来。有关信息,请参阅下面的最佳实践、一般说明以及限制和限制部分。

就个人而言,我总是包括他们,但这只是我。

于 2012-10-02T20:37:13.387 回答