Я создал script, который создает всех пользователей и схемы для этой базы данных, и когда я завершаю инструкции CREATE с помощью проверки IF EXISTS, я обнаружил, что он не разрешает вызов CREATE SCHEMA в блоке BEGIN/END. Он жалуется, что это недопустимый синтаксис. Но я могу запустить команду самостоятельно. Ниже приведен пример кода. Я использую 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