Opa,

Você pode substituir o new.login por current_user ou user.

insert log (login,data,autor) values (NEW.login,current_date,NEW.autor); --
+- assim

insert log(login,data,autor) values (current_user,current_date,new.autor);

ou

insert log(login,data,autor) values (user,current_date,new.autor);

[]s


2008/5/23 Carlos Madsen <[EMAIL PROTECTED]>:

> Olá pessoal, estou com o seguinte problema tenho uma tabela chamada "livro"
> e tenho de armazenar todas as alterações que esta tabela sobre em uma tabela
> "log", daí pensei em fazer uma trigger para ser chamada antes do update, até
> ai tudo bem, mas o problema é que tenho de armazenar também o login do
> usuário atual, coluna que não existe em "livro". Tentei fazer algo do gênero
> mas não fui feliz:
>
>
>  CREATE OR REPLACE FUNCTION altera_livro()
>
> RETURNS "trigger" AS
>
> $BODY$
>
> begin
>
> insert log (login,data,autor) values (NEW.login,current_date,NEW.autor); --
> +- assim
>
>
>  NEW.login=null; --para não afetar o update
>
>  return NEW;
>
> end;
>
> $BODY$
>
> LANGUAGE 'plpgsql' VOLATILE;
>
>
>  Chamado no update:
>
> update livro set
>
> login='carlos', -- essa coluna não existe na tabela livro !!
>
> titulo='Dom Casmurro',
>
> autor='Machado de Assis' where chave='654';
>
> Alguém tem alguma idéia se algo do gênero é possível?
>
> Grato.
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
João Paulo
www.dextra.com.br/postgres
PostgreSQL
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a