HomeArtigosCategoriaBANCO DE DADOS › Como copiar estrutura de tabelas no sql server

Como copiar estrutura de tabelas no SQL Server

Postado em 20/10/2008 às 10:59:28 por Adriano Rosa na categoria Banco de Dados

Em algumas situações o desenvolvedor deseja copiar a estrutura e/ou estrutura e dados de tabelas no SQL Server. A primeira coisa que tentaria seria usar ctrl+c e ctrl+v, mas logo verá que esta condição não será possível.

Você pode efetuar este procedimento usando consultas T-SQL, a sintaxe é bem simples. Basta executar alguns comandos no SQL Query Analyzer ou até mesmo no modo Query da tabela que deseja copiar.

Veja abaixo o código T-SQL para copiar toda a estrutura da tabela e seus dados:
 
SELECT * INTO NOME_NOVATABELA FROM TABELAEXISTENTE WHERE 1=1

Explicando:

Neste exemplo, selecionamos a tabela TABELAATUAL e copiamos sua estrutura para NOME_NOVATABELA utilizando a cláusula INTO.

Na cláusula WHERE = 1=1 dizemos que a expressão é verdadeira. Então, além da estrutura, os dados também são copiados para a nova tabela.

Outro exemplo é onde podemos copiar apenas a estrutura da tabela sem os dados:
 
SELECT * INTO NOME_NOVATABELA FROM TABELAEXISTENTE WHERE 1=0 

O código é semelhante ao anterior. O que muda são os valores da cláusula WHERE. Dizemos que a expressão não é verdadeira, ou seja, 1 = 0, portanto não será retornado nenhum registro. Então, a tabela é copiada sem registros.

Até a próxima!


Publicidade
(4) Comentários
  • Comentou Fernando Binasco
    disse em 22/11/2008 11:08:48

    Obrigado pela dica.

  • Comentou Ricardo Knupp
    disse em 03/05/2009 02:29:30

    Olá Adriano, muito útil esse script que encontrei aqui em seu site. Estou fazendo um trabalho pra minha faculdade e utilizei esta sua dica pra facilitar minha programação. Só tem um problema, como é que faço para copiar a tabela com todas as definições e propriedades. Ficarei muito grato se puder me ajudar. Abraços.

  • Comentou Bakk
    disse em 04/05/2009 11:42:21

    Excelente artigo

  • Comentou Adriano
    disse em 05/05/2009 13:25:43

    @Ricardo, caso deseja copiar tbm as chaves primarias e propriedades da tabela terá que gerar o código e executa-lo no query analyzer Abraços

Seu comentário foi salvo com sucesso.

aguarde   Aguarde estamos gravando seu comentário ...
Escreva um comentário Somente texto, Não é permitido uso de tags html
Ultimos Comentários

Desenvolvido em XHTML, CSS, ASP, WEBSTANDARDS
Armazenamento de Dados: SQLServer

AdrianoRosa.Com © 2008 Todos os Direitos Reservados
Autor: Adriano Rosa.

Creative Commons License

Valid XHTML 1.0 Strict