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.

Funcionar, funciona, mas... Há outras opções?

Mozart Hasse


------ Original Message ------
> Date: Tue, 25 Mar 2008 08:13:24 -0300
> From: "Silfar Goulart" <[EMAIL PROTECTED]>

> Não seria o caso de :
> **
> *Gatilho: *
> CREATE TRIGGER cli_gatilho
>   after INSERT
>   ON clientes
>   FOR EACH ROW
>   if codigo = 0 then
>      EXECUTE PROCEDURE cli_gatilho();
> 
> Eu faria assim na aplicação cliente sempre colocaria o valo 0 (zero) na
> chave veja 0 <> null.
> e só depois do commit pegava o código. Não testei mas acho que dá
certo.
> 
> -- 
> Silfar Goulart


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

Responder a