创建模式MS SQL不能在IF语句中工作

时间:2015-10-07 09:39:16

标签: sql-server

为什么会出错:

IF(SCHEMA_ID('AM') IS NULL)
BEGIN
    CREATE SCHEMA AM
    GO
END

这有效:

IF(SCHEMA_ID('AM') IS NULL)
BEGIN
    Print 'null'
END

并且一行上的create schema语句可以工作,但if语句中的创建模式不起作用。 所以他们都是单独工作,但不是一起工作。

1 个答案:

答案 0 :(得分:2)

CREATE SCHEMA是其中一个必须单独批量处理的陈述 尝试:

IF (SCHEMA_ID('AM') IS NULL) 
BEGIN
    EXEC ('CREATE SCHEMA [AM]')
END

有关详细信息,请参阅:Why can't I use "create schema" in a begin/end block in SQL Management Studio?