Ich möchte eine Tabelle in ein bestimmtes Schema mit T-SQL verschieben? Ich bin mit SQL Server 2008.Wie verschiebe ich eine Tabelle in ein Schema in T-SQL
Antwort
ALTER SCHEMA TargetSchema
TRANSFER SourceSchema.TableName;
Wenn Sie alle Tabellen in ein neues Schema verschieben möchten, können Sie die undokumentierte verwenden sp_MSforeachtable
gespeicherte Prozedur (und irgendwann veraltet zu sein, aber unwahrscheinlich!):
exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"
Ref .: ALTER SCHEMA
Kurz ein swer:
ALTER SCHEMA new_schema TRANSFER old_schema.table_name
ich, dass die Daten in der Tabelle intakt bleibt bestätigen kann, was wohl ziemlich wichtig ist :)
Lange Antwort per MSDN docs,
ALTER SCHEMA schema_name
TRANSFER [ Object | Type | XML Schema Collection ] securable_name [;]
Wenn es eine Tabelle ist (oder irgendetwas neben einer Typ- oder XML-Schemasammlung), können Sie das Wort Objekt auslassen, da dies die Standardeinstellung ist.
Warum der Downvote für meine richtige Antwort? Bitte überprüfen Sie meine gegen die angenommene Antwort, die die gleiche ist, und hat bereits 257 Upvotes (einschließlich meiner). – DaveBoltman
Haben Sie ein upvote für die Bestätigung der Daten intakt, die nur meinen Blutdruck gespeichert ... :) –
@DaveBoltnman: Sie haben eine Antwort eingegeben 6 Jahre nach der angenommenen Antwort und durch Ihren eigenen Kommentar oben "das ist das gleiche" . –
Wenn Sie mehrere Tabellen in ein neues Schema verschieben müssen, siehe [Mehrere Tabellen umbenennen] (http://stackoverflow.com/questions/10942901/renaming-multiple-tables) – Tony