SQL脚本中是否需要BEGIN / END(一般情况下),或者用{和}替换它们是否合适
示例:
IF DB_ID('comics') IS NOT NULL
BEGIN
PRINT 'Database exists - dropping the comics database.';
DROP DATABASE comics;
END
VS
IF DB_ID('comics') IS NOT NULL
{
PRINT 'Database exists - dropping the comics database.';
DROP DATABASE comics;
}
我正在使用MS SQL Server 2008 R2
答案 0 :(得分:2)
您应该使用BEGIN...END
作为语句块。 Source
答案 1 :(得分:2)
IF...ELSE
的文档显示:
IF Boolean_expression
{ sql_statement | statement_block }
[ ELSE
{ sql_statement | statement_block } ]
但是,Transact-SQL Syntax Conventions (Transact-SQL)页面显示:
{ } (braces) Required syntax items. Do not type the braces.
因此,大括号不是您可以在代码中输入的内容,而只是显示正确的一个 sql_statement
或statement_block
IF
声明。 (当然,只要您使用statement_block
和sql_statement
,BEGIN
就可以包含多个END
。)
答案 2 :(得分:1)
从未在SQL中听说过{}。 SQL 92规范使用BEGIN END。 我认为BEGIN END是唯一的选择。