Question

Je veux déplacer une table dans un schéma spécifique en utilisant T-SQL? J'utilise SQL Server 2008.

Était-ce utile?

La solution

ALTER SCHEMA TargetSchema 
    TRANSFER SourceSchema.TableName;

Si vous voulez déplacer tous tables dans un nouveau schéma, vous pouvez utiliser le sans papier (et à dépréciée à un moment donné, mais peu probable!) sp_MSforeachtable procédure stockée:

exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"

Ref .: ALTER SCHEMA

SQL Server 2008: Comment Je change db schéma à dbo

Autres conseils

Réponse courte:

ALTER SCHEMA new_schema TRANSFER old_schema.table_name

Je peux confirmer que les données de la table reste intacte, ce qui est probablement très important:)

Réponse longue comme docs par MSDN ,

ALTER SCHEMA schema_name 
   TRANSFER [ Object | Type | XML Schema Collection ] securable_name [;]

Si c'est une table (ou quoi que ce soit en plus d'un type ou XML collection du schéma), vous pouvez laisser le mot objet puisque c'est la valeur par défaut.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top