Re: Trigger para fazer log
От | Tomasz Myrta |
---|---|
Тема | Re: Trigger para fazer log |
Дата | |
Msg-id | 3E4267F4.6020302@klaster.net обсуждение исходный текст |
Ответ на | Trigger para fazer log (Maurício Sessue Otta <mauricio@cristorei.com.br>) |
Список | 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
В списке pgsql-sql по дате отправления: