可能重复:
When do I need to use Begin / End Blocks and the Go keyword in SQL Server?
示例:
CREATE PROCEDURE DoSomething
AS
BEGIN
SET NOCOUNT ON;
-- Insert lots of statements in here, including other stored procedures.
END
你需要BEGIN和END吗?如果你有或没有它会有什么不同吗?
答案 0 :(得分:11)
它们是可选。
来自MSDN - CREATE PROCEDURE:
从命令的定义 -
AS {[BEGIN] sql_statement [;] [... n] [END]}
稍后在页面中:
{[BEGIN] sql_statement [;] [... n] [END]}
包含过程主体的一个或多个Transact-SQL语句。您可以使用可选的BEGIN和END关键字来包含语句。
答案 1 :(得分:6)
如the CREATE PROCEDURE documentation所示,它们是可选的。
{[BEGIN] sql_statement [;] [... n] [END]}
一个或多个 包含过程主体的Transact-SQL语句。您可以 使用 可选 [强调添加] BEGIN和END关键字来包含语句。对于 信息,请参阅最佳实践,一般说明和限制 以及后面的限制部分。
就个人而言,我总是包括他们,但那只是我。