Eu tenho uma tabela ABC em um banco de dados DB. Desejo criar cópias do ABC com os nomes ABC_1, ABC_2, ABC_3 no mesmo banco de dados. Como posso fazer isso usando o Management Studio (de preferência) ou consultas SQL?
Isso é para SQL Server 2008 R2.
sql
sql-server-2008
tsql
sql-server-2008-r2
sequel.learner
fonte
fonte
Respostas:
Use
SELECT ... INTO
:Isso criará uma nova tabela
ABC_1
que possui a mesma estrutura de colunasABC
e contém os mesmos dados. As restrições (por exemplo, chaves, valores padrão), no entanto, não são copiadas.Você pode executar essa consulta várias vezes com um nome de tabela diferente a cada vez.
Se você não precisa copiar os dados, apenas para criar uma nova tabela vazia com a mesma estrutura de coluna, adicione uma
WHERE
cláusula com uma expressão falsa:fonte
SELECT TOP(0) *
mais limpo do que oWHERE
método de declaração sempre falsaCopiar esquema (gerar DDL) por meio da IU do SSMS
No SSMS, expanda seu banco de dados no Object Explorer , vá para Tabelas , clique com o botão direito na tabela de seu interesse e selecione Script Table As , Create To , New Query Editor Window . Faça um localizar e substituir ( CTRL + H ) para alterar o nome da tabela (ou seja, coloque
ABC
no campo Localizar eABC_1
em Substituir por e clique em OK ).Copiar Esquema por meio de T-SQL
As outras respostas que mostram como fazer isso pelo SQL também funcionam bem, mas a diferença com esse método é que você também obterá quaisquer índices, restrições e gatilhos.
Copiar Dados
Se você deseja incluir dados, após criar esta tabela execute o script abaixo para copiar todos os dados do ABC (mantendo os mesmos valores de ID se você tiver um campo de identidade):
fonte
IDENTITY_INSERT
como ON para permitir definir a coluna de identidade "manualmente", você misturou a ordem no seu exemplo. Além disso, você deve listar EXPLICITAMENTE suas colunasSe você deseja duplicar a tabela com todas as suas restrições e chaves, siga as etapas abaixo:
Então, para copiar os dados, execute o seguinte script:
fonte
1ª opção
2ª opção: use SSIS, ou seja, clique com o botão direito no banco de dados no explorador de objetos> todas as tarefas> exportar dados
fonte
Esta é outra opção:
fonte
use sql server manegement studio ou netcat e será mais fácil de manipular sql
fonte
Você precisa escrever SSIS para copiar a tabela e seus dados, restrições e gatilhos. Temos em nossa organização um software chamado Kal Admin da kalrom Systems que possui uma versão gratuita para download (acho que o recurso de copiar tabelas é opcional)
fonte