Pesquisar este blog

domingo, 6 de janeiro de 2013

Fazer update em outro banco de dados da mesma instância




As vezes, é necessário realizar operações de dados entre diferentes bancos de dados dentro de uma instância SQL. Na verdade, isso é muito comum. Então aqui vai a dica.

1ª opção: Buscando os dados de um outro banco de dados ao qual você está contectado:

  update ocrd
set ocrd.cardname = ocrd2.cardname
from sboatlantida..ocrd ocrd2
where ocrd.cardcode = ocrd2.cardcode

Neste exemplo, especificamos a tabela que será atualizada logo após o update, um alias para a tabela do banco onde vamos pegar os dados (ocrd2) e na clausula where, fazemos a correlação entre as tabelas.


2ª opção: Realizando update em outro banco de dados:

  update ocrd1
set ocrd1.cardname = ocrd2.cardname
from atl..ocrd ocrd1
inner join SBOAtlantida..ocrd ocrd2
on ocrd1.cardcode = ocrd2.cardcode

Já este exemplo, estamos atualizando o banco de dados ATL através de dados provenientes do banco SBOAtlantida. Para iniciantes, pode parecer estranho especificar na clausula FROM (da onde) qual a tabela a ser atualizada. Mas entenda como a clausula FROM onde especificamos o nome das tabelas, independente da qual será atualizada. Este segundo modelo pode ser utilizado em ambos os casos descritos acima.


Muito útil quando precisa interligar bases de diferentes sistemas.

Nenhum comentário:

Postar um comentário