SQL脚本中是否需要开始/结束?

SQL脚本中是否需要开始/结束?,sql,tsql,syntax,sql-server-2008-r2,Sql,Tsql,Syntax,Sql Server 2008 R2,SQL脚本(通常)需要BEGIN/END,还是可以用{和}替换它们 例如: IF DB_ID('comics') IS NOT NULL BEGIN PRINT 'Database exists - dropping the comics database.'; DROP DATABASE comics; END VS 我使用的是MS SQL Server 2008 R2,您应该将其用于语句块 您应该使用for语句块 从未听说过S

SQL脚本(通常)需要BEGIN/END,还是可以用{和}替换它们

例如:

IF DB_ID('comics') IS NOT NULL        
    BEGIN
        PRINT 'Database exists - dropping the comics database.';
        DROP DATABASE comics;
    END
VS


我使用的是MS SQL Server 2008 R2,您应该将其用于语句块

您应该使用for语句块

从未听说过SQL中的{}。 SQL92规范使用BEGIN-END。
我认为BEGIN-END是唯一的选择。

从未听说过SQL中的{}。 SQL92规范使用BEGIN-END。 我认为“开始-结束”是唯一的选择。

演示文档:

但是,该页面显示:

{ } (braces)    Required syntax items. Do not type the braces.
因此,大括号不是您可以在代码中输入的东西,而是简单地表示在
IF
语句中只需要一个
sql\u语句
statement\u块
。(当然,一个
语句块
可以包含多个
sql语句
s,只要在它们周围使用
BEGIN
END

的文档显示:

但是,该页面显示:

{ } (braces)    Required syntax items. Do not type the braces.

因此,大括号不是您可以在代码中输入的东西,而是简单地表示在
IF
语句中只需要一个
sql\u语句
statement\u块
。(当然,
statement\u块
可以包含多个
sql\u语句
s,只要您在它们周围使用
BEGIN
END

您使用的是什么数据库?需要什么取决于DBMS(它们之间的语法不同)。是TSQLI,我已经更新了我的问题。抱歉造成混淆。请自己测试,然后查看;)你在使用什么数据库?需要什么取决于DBMS(它们之间的语法不同)。是TSQLI,我已经更新了我的问题。抱歉造成混淆。请自己测试,然后查看;)
{ } (braces)    Required syntax items. Do not type the braces.