Em 23 de abril de 2013 13:27, Flavio Henrique Araque Gurgel < [email protected]> escreveu:
> > Em 23-04-2013 13:25, Marcelo da Silva escreveu: > > Bem, não é exatamente ao mesmo tempo, mas a ideia é a seguinte: >> >> No banco existem N tabelas com o campo "cod_id" >> >> Eu gostaria de fazer um update em todas as tabelas que possuem este >> cod_id par um mesmo numero, exemplo: >> >> update tabelaA set cod_id = X where cod_id = Y >> update tabelaB set cod_id = X where cod_id = Y >> update tabelaC set cod_id = X where cod_id = Y >> Etc >> >> Pra eu fazer isso tenho que ver todas as tabelas que tem este campo numa >> base de 200 tabelas pra depois fazer o Update em cada tabela. >> >> Será que podemos agilizar este processo com um update e where numa >> tabela do sistema ? >> > > Não. > Mas você pode fazer um script que lê as tabelas existentes e "monta" os > UPDATEs pra você. > Tudo depende de quantas vezes você terá que fazer isso. > > Pergunto: os campos cod_id tem o mesmo significado e são relacionados? > Por que se forem, você deve relacioná-los com uma chave estrangeira a uma > tabela que os contém como chave primária. Utilizando "ON UPDATE CASCADE", > você faz o UPDATE só uma vez na tabela referenciada e todas as outras serão > atualizadas automaticamente. > > > Pois é Flavio, até pensei num ForeignKey mas não fiz isso no começo, agora pra parar tudo e linkar esses campos não será nada facil. Vou ter que criar um while no sistema pra ler essas tabelas e automatizar essa alteração. Tenho que fazer isso porque alguns usuários cadastraram uma mesma empresa varias vezes com CPNJs diferentes (porque o cliente insistiu pra deixar o sistema aberto no inicio, sabe como é né)... agora tenho que solucionar o problema. Mas faz parte :) Mas valeu a ajuda...
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
