我生成了一个脚本来为这个数据库创建所有用户和模式,在将CREATE语句包装在IF EXISTS检查中时,我发现它不允许在BEGIN/END块中运行CREATE SCHEMA调用。它抱怨它是无效的语法。但是我可以单独运行该命令。下面是代码示例。我正在使用SQL Server 2008和Management Studio R2。为什么会出现无效语法?
--DROP SCHEMA [acme]
IF (NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'acme'))
BEGIN
CREATE SCHEMA [acme] AUTHORIZATION [dbo]
END
create schema
支持if exists
谓词就好了... ;_; - Ian Kemp