1

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

4

3 回答 3

2

您应该使用BEGIN...ENDfor 语句块。来源

于 2012-05-12T04:26:12.533 回答
2

节目的文档IF...ELSE

IF Boolean_expression 
     { sql_statement | statement_block } 
[ ELSE 
     { sql_statement | statement_block } ] 

但是,Transact-SQL 语法约定 (Transact-SQL)页面显示:

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

因此,大括号不是您可以在代码中输入的东西,而只是表明语句中恰好有一个 sql_statementstatement_block必需的。IF(当然,astatement_block可以包含多个sql_statements,只要你使用BEGINEND围绕它们。)

于 2012-05-12T04:31:08.167 回答
1

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

于 2012-05-12T04:29:59.207 回答