Bom,

Eu escaparia de dar UPDATE nos registros detalhe se só os inserisse *depois* 
de dar um SELECT MAX para ver qual foi o código usado. Dar um UPDATE depois 
seria relativamente muito custoso, especialmente se eu tiver integridade 
referencial, pois precisaria criar uma cópia do registro mestre com o novo 
código para poder rodar o UPDATE nos registros detalhe e depois apagar o 
registro original.

De qualquer forma seria melhor partir para soluções que descubram o código 
*antes* de dar o INSERT, até porque
mexer num campo pertencente a algum índice (trocando de zero para 
provavelmente o último valor da lista) teria um custo alto e evitável.

Mozart

Date: Tue, 25 Mar 2008 14:02:37 -0300
From: "Silfar Goulart" <[EMAIL PROTECTED]>
Subject: Re: [pgbr-geral] Campos com Autoincremento (Como resolver o
problema dos Buracos)

vc diz para um no caso de manter relacionamentos master-detail ? Se for acho
que vc poderia dar um update nos registros detalhes,.

Em 25/03/08, Mozart Hasse <[EMAIL PROTECTED]> escreveu:
>
> Silfar,
>
> Sim, algo parecido com isso resolveria o problema, só que isso só pode ser
> feito se eu onerar a transação com um SELECT MAX *ou* se eu tiver uma
> chave
> alternativa que possa usar para achar o registro após a gravação. Afinal,
> posso querer usar o código gerado para gravar outra coisa em outra tabela
> ou
> num arquivo, e se o servidor só atribuir um número no AFTER INSERT, terei
> de
> rodar em seguida um SELECT MAX() dentro da mesma transação para ver que
> código ele escolheu.


_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a