Desidero spostare una tabella in uno schema specifico utilizzando T-SQL? Sto usando SQL Server 2008.Come si sposta una tabella in uno schema in T-SQL
risposta
ALTER SCHEMA TargetSchema
TRANSFER SourceSchema.TableName;
Se si desidera spostare tutti le tabelle in un nuovo schema, è possibile utilizzare la non documentata sp_MSforeachtable
stored procedure (e di essere deprecato a un certo punto, ma improbabile!):
exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"
Ref .: ALTER SCHEMA
breve un Swer:
ALTER SCHEMA new_schema TRANSFER old_schema.table_name
posso confermare che i dati nella tabella rimane intatto, che è probabilmente molto importante :)
Risposta lunga come da MSDN docs,
ALTER SCHEMA schema_name
TRANSFER [ Object | Type | XML Schema Collection ] securable_name [;]
Se si tratta di una tabella (o qualsiasi altra cosa oltre a una raccolta di Schemi di tipo o XML), puoi lasciare fuori la parola Oggetto poiché è quella predefinita.
Perché il downgrade per la mia risposta corretta? Si prega di controllare il mio contro la risposta accettata, che è la stessa, e ha già 257 upvotes (incluso il mio). – DaveBoltman
Avere un upvote per confermare che i dati rimangono intatti, il che mi ha salvato la pressione sanguigna ... :) –
@DaveBoltnman: hai inserito una risposta 6 anni dopo la risposta accettata e il tuo commento sopra "che è lo stesso" . –
Se è necessario spostare più tabelle in un nuovo schema, vedere [Ridenominazione di più tabelle] (http://stackoverflow.com/questions/10942901/renaming-multiple-tables) – Tony