Copiar dados entre tabelas Microsoft SQL

oraculum

Tagged: ,


Precisei hoje de fazer uma mudança de dados de uma tabela para outra, coisa simples de se fazer no sql 2005 ou 2008 na verdade acho que essa query funciona pra maioria dos bancos:

1
2
INSERT INTO Cliente_Credito (Cliente_Credito.Codigo)
SELECT Codigo FROM Cliente WHERE (Cidade = 'Volta Redonda')

Lembrando que na primeira linha você vai listar as colunas da tabela que receberá os dados e na segunda linha você faz um select no banco para os dados de origem por exemplo se você quiser pode retirar todos os clientes da tabela cliente e passar para a credito mas apenas os da cidade de Volta Redonda, ou deixar sem WHERE daí o SQL vai importar todos os registros.

Se por acaso as duas tabelas tenham os mesmo campos e você queira copiar os dados entre elas faça o seguinte:

INSERT INTO tabela1
SELECT * FROM tabela2

Aproveitando caso você precise de fazer uma atualização de dados entre tabelas, ou seja pegar um registro da tabela A jogar num outro registro correspondente na tabela B:

1
2
3
4
5
UPDATE Cli_For_Credito
   SET
      Estado_Civil = Cli_For.Fax, Tipo_Residencia = Cli_For.Complemento
FROM Cli_For
WHERE Cli_For.Codigo = Cli_For_Credito.Codigo
Share Button

4 Comments

  1. Silton Jr.

    Muito Legal esse update entre tabelas, havia tentado de algumas formas diferente, todas sem sucesso até que encontrei seu artigo.
    Parabéns.

    Reply

  2. DOUGNET

    MUITO OBRIGADO

    Reply

  3. rodrigo

    acabei de usar sua sugestao, e funcionou bem!
    obrigado!

    Reply

  4. Marciel

    Muito bom esse script, ajudou-me bastante.

    Reply

Leave a Reply