IF ( NOT EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'OeeQualityDefects'))
BEGIN
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[OeeQualityDefects](
[CharID] [int] NOT NULL,
[QualityCharID] [int] NULL
) ON [PRIMARY]
END
这里我试图设置一个条件,如果表已经存在于数据库中,如果它不在那里我想创建一个表
但是,如果我运行此查询,我会收到错误
'ON'附近的语法不正确。
'END'附近的语法不正确。
答案 0 :(得分:6)
将包含GO
的语句放在IF
语句
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF ( NOT EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'OeeQualityDefects'))
BEGIN
CREATE TABLE [dbo].[OeeQualityDefects]
(
[CharID] [int] NOT NULL,
[QualityCharID] [int] NULL
) ON [PRIMARY]
END
GO
结束语句,IF
语句中断。