J'ai généré un script qui crée tous les utilisateurs et schémas pour cette base de données et lorsque j'encapsule les instructions CREATE avec une vérification IF EXISTS, je trouve qu'il ne permet pas à l'appel CREATE SCHEMA de s'exécuter dans le bloc BEGIN / END. Il se plaint que sa syntaxe n'est pas valide. Pourtant, je peux exécuter la commande seule. Un exemple du code est ci-dessous. J'utilise SQL Server 2008 et Management Studio R2. Pourquoi cette syntaxe n'est-elle pas valide?
--DROP SCHEMA [acme]
IF (NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'acme'))
BEGIN
CREATE SCHEMA [acme] AUTHORIZATION [dbo]
END