From: | Tomasz Myrta <jasiek(at)klaster(dot)net> |
---|---|
To: | Maurício Sessue Otta <mauricio(at)cristorei(dot)com(dot)br> |
Cc: | LISTA POSTGRES <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: Trigger para fazer log |
Date: | 2003-02-06 13:49:40 |
Message-ID: | 3E4267F4.6020302@klaster.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Maurício Sessue Otta wrote:
> Oi lista,
>
> tenho um trigger que deve validar alguns campos para entrada/saida de
> funcionarios e que deve fazer um "log"
> do que vai acontecendo.
>
> Por exemplo:
> quando é o início do expediente, o trigger deverá guardar algo assim no
> "log":
> Cadastro da Entrada-1: Data 2003-02-06 Horário: 09:51:00
>
> Se o funcionario tentar burlar o esquema e tentar inserir/atualizar o
> registro, o trigger deve guardar na tabela log que
> foi feita essa tentativa e retornar um erro para o meu script PHP.
>
> Meu problema:
> no fim do trigger tenho o seguinte:
> IF length(m_erro) = 0 THEN
> ELSE
> RAISE EXCEPTION ''%'', m_erro;
> END IF;
> RETURN null;
> Quando está "EXCEPTION", o que deveria ser guardado no "log" também é
> desfeito. Quando coloco "NOTICE", a
> informação vai para o LOG.
>
> Como fazer para o trigger gerar uma "EXCEPTION" e mesmo assim gravar em
> outra tabela?!?!
>
>
> []'s Mauricio
I can't understand your language ;-) but I suppose, that after "RAISE EXCEPTION"
you can't find any information in a log table?
RAISE EXCEPTION always aborts transaction and you can't put any log information
into tables when doing this.
Regards,
Tomasz Myrta
From | Date | Subject | |
---|---|---|---|
Next Message | Roberto Mello | 2003-02-06 15:58:09 | Re: Trigger para fazer log |
Previous Message | Julian Scarfe | 2003-02-06 12:17:31 | Re: TIME vs. TIMESTAMP data type |