2012-05-12 7 views
1

は(一般的に)SQLスクリプトで必要/ ENDをBEGINですか、とそれらを交換することで結構です{と}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

どのデータベースですか? – mgiuffrida

+0

あなたはどのデータベースを使用していますか?必要なのはDBMSに依存します(構文はそれらの間で異なります)。 –

+1

[DB_ID](http://msdn.microsoft.com/en-us/library/ms186274.aspx)はTSQLです –

答えて

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. 

ので、中括弧は、あなたのコードで入力することができるものではありませんが、代わりにありますIFには、正確にの1つが表示されます。sql_statementまたはstatement_blockが必要です。 (statement_blockにはBEGINENDを使用する限り、複数のsql_statementを含めることができます)

1

SQLでは{}について聞いたことがありません。 SQL 92仕様ではBEGIN ENDが使用されています。 私はBEGIN ENDが唯一の選択だと思います。

関連する問題