Pergunta

Eu estou trabalhando com o SQL Server (eu sou um noob SQL Server) e tentar alterar uma tabela. Quero CREATE TABLE LIKE para armazenar com segurança de dados quando eu deixar cair as chaves e restrições e todos os outros rigamorole que o SQL Server parece exigir ao alterar a tabela original, mas eu não tenho sido capaz de encontrar uma correspondência a esse comando ...

Foi útil?

Solução

Você pode fazer

SELECT * INTO #MyTable_tmp FROM MyTable

Em seguida, modificar o seu MyTable e copiar suas costas dados. Outras abordagens que eu vi é criar uma nova chamada tabela que Mytable_Tmp (não uma tabela temporária), que será sua nova tabela.

Em seguida, copie os seus dados fazendo nenhum migrações que você precisa. Então você vai cair a tabela original e fazer uma renomeação em myTable.

Ou você pode obter uma das muitas ferramentas its que comparam bancos de dados e gerar scripts de diferença ou VSTS DB Edition (Vem com desenvolvedor) e você pode fazer um script diff de um arquivo de projeto para um DB.

Editar

Quando você executar SELECT * INTO #myTable FROM MyTable, SQL Server cria uma nova tabela temporária chamada #myTable que corresponde cada coluna e tipo de dados a partir de sua cláusula select. Neste caso estamos selecionando * por isso vai corresponder MyTable. Isso só cria as colunas não copiar padrões, índices restrições ou qualquer outra coisa.

Outras dicas

você deseja recriar a mesma estrutura?

como sobre este

 SELECT *
 into test
 FROM myRealTable
 where 0=1

Nenhum dado será inserido na nova tabela

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top