Jump to content

Archived

This topic is now archived and is closed to further replies.

Paulo Kazumiti

Como comparar duas tabelas

Recommended Posts

Amigos,Eu estou testando uma nova SP para importação de arquivos TXT para um banco de dados do SQL Server em ambiente de testes.Eu tenho essa mesma tabela no ambiente de produção (num banco de dados igual ao do ambiente de testes) e gostaria de fazer um comparativo entre essas duas tabelas para ver se todos os campos foram importados corretamente.Existe alguma forma padronizada para esse tipo de verificação?obrigado!

Share this post


Link to post
Share on other sites

Você quer comparar a estrutura o o conteudp?

 

Bom, pelo que entendi é a estrutura. Então, que eu conheça originalmente nas ferramentas do SQL Server não há.

 

Você pode usar o comando

sphelp 'Tabela'

nas duas tabelas e comparar de olho a estrutura das duas.

Ou então, eu costumo usar um software chamado Embarcadeiro, não sei se você conhece.

Ele é bem pesado mas é bem completaço para estudar duas estrurturas de bancos.

Ele compara tudo que você quiser, compara bancos inteiros... ainda por cima gerando scripts.

 

No seu caso, eu usaria ele, para uma tabela só ele roda rapidinho.

 

[]tz ;)

Share this post


Link to post
Share on other sites

Olá Daw,Eu preciso comparar o conteúdo.As estruturas são idênticas, a única diferença é que uma está num banco de dados de produção e a outra num bando de dados de teste.Preciso saber se na tabela teste o conteúdo (preenchido por uma nova SP que estou escrevendo) ficou exatamente igual ao da tabela de produção.Obrigado!

Share this post


Link to post
Share on other sites

Olá Daw,

 

Eu preciso comparar o conteúdo.

As estruturas são idênticas, a única diferença é que uma está num banco de dados de produção e a outra num bando de dados de teste.

Preciso saber se na tabela teste o conteúdo (preenchido por uma nova SP que estou escrevendo) ficou exatamente igual ao da tabela de produção.

 

Obrigado!

uma solução é comparar todos os campos das tabelas com inner join entre as duas tabelas, os registros que retornarem estarão iguais, exemplo:

SELECT 1 FROM tabela tab1
INNER JOIN tabela tab2 ON
        tab1.cod = tab2.cod AND 
        tab1.nome = tab2.nome AND
        tab1.dataCad = tab2.dataCad AND
        tab1.campox = tab2.campox

Share this post


Link to post
Share on other sites

Boa Tarde!!!

 

Tive um problema desses aqui no trabalho e resolvi da seguinte maneira:

 

select * from NOMEDOBANCO1.dbo.TABELA

where not exists (select * from NOMEDOBANCO2.dbo.TABELA

where NOMEDOBANCO1.dbo.TABELA.CAMPOTABELA = NOMEDOBANCO2.dbo.TABELA.CAMPOTABELA)

 

Essa query verifica os registros diferentes (CAMPOTABELA) do banco 1 para o banco 2, depois é só fazer o inverso.

 

Espero ter ajudado

 

T+ http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.