Я сгенерировал скрипт, который создает всех пользователей и схемы для этой базы данных, и когда я обертываю операторы 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