Pergunta

Eu quero mover uma tabela em um determinado esquema usando T-SQL? Estou usando o SQL Server 2008.

Foi útil?

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 ?"

ALTER SCHEMA

SQL 2008: Como fazer mudança que eu db esquema para dbo

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
scroll top