PRB: CREATE TABLE Appears to Ignore IF StatementsLast reviewed: April 25, 1997Article ID: Q42417 |
The information in this article applies to:
- Microsoft SQL Server version 4.2 for OS/2 - Microsoft SQL Server version 4.2
SYMPTOMSIf a CREATE TABLE statement is placed inside an IF block to prevent re-creating a table that already exists, the duplicate table name error will still be raised.
WORKAROUNDApparently, a CREATE TABLE statement is validated before any of the flow-of-control or PRINT statements are executed. The following code works properly:
IF EXISTS (SELECT * FROM SYSOBJECTS WHERE NAME="PROTOCOL" DROP TABLE PROTOCOL GO CREATE TABLE PROTOCOL (C1 int) GOThe following code does not work properly:
IF NOT EXISTS (SELECT * FROM SYSOBJECTS WHERE NAME="PROTOCOL") CREATE TABLE PROTOCOL (C1 int) GO |
Additional query words: Transact-SQL Windows NT
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |