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

Responder a