Créer un schéma MS SQL ne fonctionnera pas dans IF-Statement

Pourquoi cela donne-t-il une erreur?

IF(SCHEMA_ID('AM') IS NULL) BEGIN CREATE SCHEMA AM GO END 

Cela marche:

 IF(SCHEMA_ID('AM') IS NULL) BEGIN Print 'null' END 

Et l'instruction create schema sur une ligne fonctionne, mais pas le schéma create à l'intérieur de l'instruction if. Donc, ils travaillent tous les deux individuellement, mais pas set.

CREATE SCHEMA est l'une de ces instructions qui doit être seule dans le lot.
Essayer:

 IF (SCHEMA_ID('AM') IS NULL) BEGIN EXEC ('CREATE SCHEMA [AM]') END 

Pour plus d'informations, voir: Pourquoi ne puis-je pas utiliser "create schema" dans un bloc begin / end dans SQL Management Studio?