2012-05-12 2 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 문에는 정확히 하나가sql_statement 또는 statement_block이 필요하다는 것을 보여줍니다. (물론 statement_blockBEGINEND을 사용하는 한 sql_statement을 여러 개 포함 할 수 있습니다.

1

SQL에서 {}에 대해 들어 본 적이 없습니다. SQL 92 사양은 BEGIN END를 사용합니다. BEGIN END가 유일한 옵션이라고 생각합니다.

관련 문제