Ich möchte eine Tabelle mit T-SQL in ein bestimmtes Schema verschieben. Ich verwende SQL Server 2008.
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
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.