[Pgsql-ayuda] ayuda con trigger

Gutiérrez Cuberos Tania Milena tgutierrez@unipamplona.edu.co
Tue, 23 Dec 2003 17:52:52 -0500 (COT)


Hola amigos de postgres

Quisiese que me ayudaran a crear un trigger que actualice los datos de una
tabla auditoria

En oracle se realiza así:

CREATE OR REPLACE TRIGGER TR_I_AUD_RECIBIDO
AFTER INSERT ON RECIBIDO
FOR EACH ROW
BEGIN
    INSERT INTO AUD_RECIBIDO (
RECI_ID, RECI_ASUNTO, RECI_ESTADO, RECI_FECHA, RECI_NOMBREMENSAJE,
RECI_SUBPATH, RECI_TAMANO, RECI_REGISTRADOPOR, RECI_FECHACAMBIO,ADRE_ID,
CUEN_ID, CUEN_IDRECIBIDO, RECI_OPERACION) VALUES (
:new.RECI_ID, :new.RECI_ASUNTO, :new.RECI_ESTADO, :new.RECI_FECHA,
:new.RECI_NOMBREMENSAJE, :new.RECI_SUBPATH, :new.RECI_TAMANO,
:new.RECI_REGISTRADOPOR, :new.RECI_FECHACAMBIO, :new.ADRE_ID,
:new.CUEN_ID, :new.CUEN_IDRECIBIDO, 'I');
END;

pero en postgres no entiendo como ralizarlo
he intentado asì pero no funciona:

CREATE FUNCTION F_AUD_RECI() RETURNS OPAQUE AS
'
BEGIN
INSERT INTO AUD_RECIBIDO (
RECI_ID, RECI_ASUNTO, RECI_ESTADO, RECI_FECHA, RECI_NOMBREMENSAJE,
RECI_SUBPATH, RECI_TAMANO,
 RECI_REGISTRADOPOR, RECI_FECHACAMBIO,ADRE_ID, CUEN_ID, CUEN_IDRECIBIDO,
RECI_OPERACION)
VALUES (
 NEW.RECI_ID, NEW.RECI_ASUNTO, NEW.RECI_ESTADO, NEW.RECI_FECHA,
NEW.RECI_NOMBREMENSAJE,
 NEW.RECI_SUBPATH, NEW.RECI_TAMANO, NEW.RECI_REGISTRADOPOR,
NEW.RECI_FECHACAMBIO, NEW.ADRE_ID,
 NEW.CUEN_ID, NEW.CUEN_IDRECIBIDO, ''U'');
 RETURN NEW;
END;
'
LANGUAGE 'sql';

CREATE TRIGGER TRIGGER TR_I_AUD_RECI AFTER INSERT ON RECIBIDO FOR EACH ROW
       EXECUTE PROCEDURE F_AUD_RECI();

pero me salen errores al crer la funcion

me podrian ayudar
porfavor  :)

Tania Gutierrez