X-Original-To: pgsql-sql@postgresql.org Received: from localhost (postgresql.org [64.49.215.8]) by postgresql.org (Postfix) with ESMTP id 1BA3C4758DC for ; Thu, 6 Feb 2003 07:06:10 -0500 (EST) Received: from cr1.cristorei.net.br (unknown [200.162.160.50]) by postgresql.org (Postfix) with ESMTP id C8B09475458 for ; Thu, 6 Feb 2003 07:06:08 -0500 (EST) Received: from mauricio1 ([200.162.160.203] unverified) by cr1.cristorei.net.br with Microsoft SMTPSVC(5.0.2195.4905); Thu, 6 Feb 2003 10:06:00 -0200 Message-ID: <002301c2cdd8$30b82640$830101c0@mauricio1> From: =?iso-8859-1?Q?Maur=EDcio_Sessue_Otta?= To: "LISTA POSTGRES" Subject: Trigger para fazer log Date: Thu, 6 Feb 2003 10:06:32 -0200 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0020_01C2CDC7.6CCD8730" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2720.3000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 X-OriginalArrivalTime: 06 Feb 2003 12:06:00.0585 (UTC) FILETIME=[1D2C0790:01C2CDD8] X-Virus-Scanned: by AMaViS new-20020517 X-Archive-Number: 200302/113 X-Sequence-Number: 11511 This is a multi-part message in MIME format. ------=_NextPart_000_0020_01C2CDC7.6CCD8730 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Oi lista, tenho um trigger que deve validar alguns campos para entrada/saida de funci= onarios e que deve fazer um "log" do que vai acontecendo. Por exemplo: quando =E9 o in=EDcio do expediente, o trigger dever=E1 guardar algo assim = no "log": Cadastro da Entrada-1: Data 2003-02-06 Hor=E1rio: 09:51:00 Se o funcionario tentar burlar o esquema e tentar inserir/atualizar o regis= tro, o trigger deve guardar na tabela log que=20 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) =3D 0 THEN ELSE RAISE EXCEPTION ''%'', m_erro; END IF; RETURN null; Quando est=E1 "EXCEPTION", o que deveria ser guardado no "log" tamb=E9m =E9= desfeito. Quando coloco "NOTICE", a informa=E7=E3o vai para o LOG. Como fazer para o trigger gerar uma "EXCEPTION" e mesmo assim gravar em out= ra tabela?!?! []'s Mauricio ------=_NextPart_000_0020_01C2CDC7.6CCD8730 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Oi lista,
 
tenho um trigger que deve validar alguns c= ampos=20 para entrada/saida de funcionarios e que deve fazer um "log"
do que vai acontecendo.
 
Por exemplo:
quando =E9 o in=EDcio do expediente, o tri= gger dever=E1=20 guardar algo assim no "log":
Cadastro da Entrada-1: Data 2003-02-06&nbs= p;=20 Hor=E1rio: 09:51:00
 
Se o funcionario tentar burlar o esquema e= tentar=20 inserir/atualizar o registro, o trigger deve guardar na tabela log que=20
foi feita essa tentativa e retornar um err= o para o=20 meu script PHP.
 
Meu problema:
no fim do trigger tenho o seguinte:=
 IF length(m_erro) =3D 0=20 THEN
 ELSE
  RAISE EXCEPTION ''%'', m_erro;
 E= ND=20 IF;
 RETURN null;
Quando est=E1 "EXCEPTION", o que deveria s= er guardado=20 no "log" tamb=E9m =E9 desfeito. Quando coloco "NOTICE", a
informa=E7=E3o vai para o LOG.
 
Como fazer para o trigger gerar uma "EXCEP= TION" e=20 mesmo assim gravar em outra tabela?!?!
 
 
[]'s Mauricio
 
 
------=_NextPart_000_0020_01C2CDC7.6CCD8730--