E se você esquecesse a idéia de remover a constraint e alterar direto o valor da chave? Se as dependência estiverem para "cascade" em "on update" o resultado é que todas as dependências serão atualizadas na medida em que houver a alteração na chave principal da tabela pai. Claro que haverá o tempo a ser pago, uma vez que uma alteração de uma das chaves no arquivo principal envolverá a atulização de n registros nas tabelas filhas.
[]´s 2009/10/5 Marinho Brandao <mari...@gmail.com> > Olá Charly, > > sim, é isso que eu sempre fiz, mas como vi que o DROP COLUMN tinha o > CASCADE, imaginei que talvez tivesse o equivalente para o ALTER ou > UPDATE ou quem sabe um ALTER CONSTRAINT. > > por isso perguntei na lista :) > > mas já está esclarecido, vou continuar fazendo da forma que eu sempre > fiz (que segundo vocês, a única forma) :) > > obrigado > > 2009/10/5 Charly Frankl <carl...@gmail.com>: > > Marinho, > > > > Se entendi o teu problema, você quer um UPDATE CASCADE, certo? > > > > Logo, como não tem definido alter constraint, basta remover a antiga e > criar > > uma nova com a sitaxe definida em [1]: > > > > ALTER TABLE tbl1 ADD CONSTRAINT fk_tbl1_tbl2 FOREIGN KEY (coluna1) > > REFERENCES tbl2 ( coluna1 ) ON DELETE casacade ON UPDATE cascade; > > > > > > [1] http://www.postgresql.org/docs/8.4/static/sql-createtable.html > > > > > > Att, > > > > -- > > Charly Frankl > > http://javadevilopers.blogspot.com/ > > charlyfra...@gmail.com > > Linux user #391083 > > > > > > > > 2009/10/5 Marinho Brandao <mari...@gmail.com> > >> > >> Olá Euler, > >> > >> > Não existe ALTER CONSTRAINT. Como eu disse anteriormente você terá que > >> > utilizar um bloco de transação contendo ALTER TABLE foo DROP > CONSTRAINT > >> > e > >> > ALTER TABLE foo ADD FOREIGN KEY. > >> > >> veja o que você disse: > >> > >> >> - dar um UPDATE ... SET ... CASCADE (ou algo semelhante) para > >> >> atualizar os dependentes simultaneamente > >> >Não existe tal sintaxe. > >> > >> >> - alterar a constraint para ativar o ON UPDATE CASCADE > >> >> > >> > Sim. <<<<<<<<< > >> > >> nesse caso vou fazer como eu sempre fiz e deletar/atualizar/recriar a > >> constraint. > >> > >> obrigado :) > >> > >> -- > >> Marinho Brandão (José Mário) > >> http://marinhobrandao.com/ > >> _______________________________________________ > >> pgbr-geral mailing list > >> pgbr-geral@listas.postgresql.org.br > >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > > > > > > > > > _______________________________________________ > > pgbr-geral mailing list > > pgbr-geral@listas.postgresql.org.br > > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > > > > > > > -- > Marinho Brandão (José Mário) > http://marinhobrandao.com/ > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > -- José de Mello Júnior 41.9957-2007
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral