Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boas existe alguma maneira de tendo uma bd mae e uma local eu puder fazer algo do tipo.
verifica se existem diferencas na linha com o id = 20 e caso existam alterações substitui essa linha, isto sem ter de comparar todos os campos um de cada vez.
O objectivo é que ao exportar da bd local para a mae, eu posso corrigir eventuais situações incorrectas na bd mae e depois o utilizador local pode correr um script que altera esses dados que foram corrigidos.
Isto sem esquecer que a bd mae tera dados de varios "locais" dai o ideal seria poder comparar por id.
Nao sei se me fiz explicar bem mas alguma duvida basta perguntar, obrigado.
um select bem estruturado resolve. Tipo:
select * from NOMEDOBANCO1.dbo.TABELA
where not exists (select * from NOMEDOBANCO2.dbo.TABELA
where NOMEDOBANCO1.dbo.TABELA.CAMPOTABELA = NOMEDOBANCO2.dbo.TABELA.CAMPOTABELA)
Você também pode usar um join e verificar com where.
Para as tabelas pequenas acabei por fazer assim
tab1="profissao"
tab2="diagnosticos"
tab3="bula"
tab4="lista_parametros"
x="1"
do while x <5
nome_tabela=eval("tab"&x)
Set rsgo_pro = conn1.Execute("select * from "&nome_tabela&" ")
do while not rsgo_pro.eof
Set rsgo_pro_check = conn.Execute("select * from "&nome_tabela&" where nome='"&rsgo_pro("nome")&"' ")
if rsgo_pro_check.eof then
Set rsgo_pro_inser = conn.Execute("insert into "&nome_tabela&" (nome) value('"&rsgo_pro("nome")&"')")
end if
rsgo_pro.movenext
loop
set rsgo_pro = nothing
set rsgo_pro_check = nothing
set rsgo_pro_inser = nothing
Set rsgo_pro = conn.Execute("select * from "&nome_tabela&"")
do while not rsgo_pro.eof
Set rsgo_pro_check = conn1.Execute("select * from "&nome_tabela&" where nome='"&rsgo_pro("nome")&"' ")
if rsgo_pro_check.eof then
Set rsgo_pro_inser = conn.Execute("DELETE FROM "&nome_tabela&" where nome='"&rsgo_pro("nome")&"' ")
end if
rsgo_pro.movenext
loop
set rsgo_pro = nothing
set rsgo_pro_check = nothing
set rsgo_pro_inser = nothing
x=x+1
loop
Mas agora já estamos a falar de muitos dados.
E o problema do select que indicas é que as bd tem o mesmo nome
qual banco está usando
mysql
Xan, visto que só existe net quando o encarregado la vai ao local, estava aqui a pensar melhor e nao existe um script que crie o ficheiro sql da base de dados mae e depois faça um dump da bd local e importe o ficheiro que sql para o mysql no localhost?
sera esta a melhor maneira?
select * into conn profissao from conn1 profissao