it-swarm.com.de

Wie verschiebe ich eine Tabelle in ein Schema in T-SQL?

Ich möchte eine Tabelle mit T-SQL in ein bestimmtes Schema verschieben. Ich verwende SQL Server 2008.

262
Lukasz
ALTER SCHEMA TargetSchema 
    TRANSFER SourceSchema.TableName;

Wenn Sie all Tabellen in ein neues Schema verschieben möchten, können Sie das undokumentierte verwenden (und irgendwann veraltet sein, aber unwahrscheinlich!) sp_MSforeachtable gespeicherte Prozedur:

exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"

Ref .: ALTER SCHEMA

SQL 2008: Wie ändere ich das DB-Schema in DBO

446
Mitch Wheat

Kurze Antwort:

ALTER SCHEMA new_schema TRANSFER old_schema.table_name

Ich kann bestätigen, dass die Daten in der Tabelle intakt bleiben, was wahrscheinlich sehr wichtig ist :)

Lange Antwort laut MSDN docs ,

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

Wenn es sich um eine Tabelle (oder etwas anderes als eine Typ- oder XML-Schemasammlung) handelt, können Sie das Word-Objekt weglassen, da dies die Standardeinstellung ist.

19