Почему можно ' • Я использую «создать схему» в блоке начала / конца в SQL Management Studio?

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