Como faço para mover uma tabela em um esquema em T-SQL
-
18-09-2019 - |
Pergunta
Eu quero mover uma tabela em um determinado esquema usando T-SQL? Estou usando o SQL Server 2008.
Solução
ALTER SCHEMA TargetSchema
TRANSFER SourceSchema.TableName;
Se você deseja mover todas tabelas em um novo esquema, você pode usar os indocumentados (e de ser preterido em algum momento, mas improvável!) sp_MSforeachtable
procedimento armazenado:
exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"
Outras dicas
Resposta curta:
ALTER SCHEMA new_schema TRANSFER old_schema.table_name
Eu posso confirmar que os dados na tabela permanece intacta, o que provavelmente é muito importante:)
Resposta longa como por MSDN docs ,
ALTER SCHEMA schema_name
TRANSFER [ Object | Type | XML Schema Collection ] securable_name [;]
Se for uma tabela (ou qualquer coisa além de um tipo ou XML Schema coleção), você pode deixar de fora a palavra objeto já que é o padrão.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow