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