PRB: CREATE TABLE Appears to Ignore IF StatementsID: Q42417
|
If 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.
Apparently, 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)
GO
IF NOT EXISTS (SELECT * FROM SYSOBJECTS WHERE NAME="PROTOCOL")
CREATE TABLE PROTOCOL (C1 int)
GO
Additional query words: Transact-SQL Windows NT
Keywords : kbprg SSrvGen SSrvServer SSrvWinNT
Version : 4.2 | 4.2
Platform : OS/2 WINDOWS
Issue type :
Last Reviewed: March 6, 1999