Clipper On Line • Ver Tópico - Copiando dados com SQL

Copiando dados com SQL

Discussão sobre SQL

Moderador: Moderadores

 

Copiando dados com SQL

Mensagempor alxsts » 14 Jan 2017 16:16

Olá!

Para copiar dados de uma tabela "b", acrescentando-os na tabela "a", pode-se usar:
   INSERT INTO a
   SELECT * FROM b
    WHERE <condição_where_caso_exista>

No exemplo acima, a tabela "a" já contém dados e os dados da tabela "b" serão acrescentados à tabela "b". Lembre-se que o número de colunas tem que ser igual nas tabelas de origem e destino. É preciso cuidar também de problemas com primary keys (duplicação de chaves primárias).

Para criar uma cópia com todas as colunas de uma tabela "a", pode-se usar:
   SELECT * 
     INTO b
     FROM a
    WHERE <condição_where_caso_exista>

No exemplo acima, a tabela "b" é criada e nela são inseridos todos os dados da tabela "a". Equivalente ao COPY TO do xBase.

Para criar uma cópia com algumas das colunas de uma tabela "a", pode-se usar:
   SELECT <lista_de_colunas> 
     INTO b
     FROM a
    WHERE <condição_where_caso_exista>

No exemplo acima, a tabela "b" é criada e nela são inseridos apenas os dados das colunas especificadas da tabela "a". Equivalente ao COPY TO FIELDS do xBase mas com uma lista de campos.

Para copiar apenas a estrutura de uma tabela "a", pode-se usar:
   SELECT * 
     INTO b
     FROM a
    WHERE 1 = 0

No exemplo acima, a tabela "b" é criada e nela nenhum dado é inserido pois a condição WHERE não é satisfeita. Equivalente ao COPY STRUCTURE do xBase.

Estes são conceitos básicos de como copiar dados com SQL e valem para a maioria dos SGBDs. É possível fazer muito mais coisas, usando JOINs, sub queries, tabelas derivadas, etc...

SQLCOPYTOSTRUCTURE
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2188
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 13 vezes
Mens.Curtidas: 148 vezes



Retornar para SQL

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro