From: | Adrián Misael Peña Montero <ampena(at)uci(dot)cu> |
---|---|
To: | Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Trigger sobre tabla replicada con slony1 2.2.1 no funciona |
Date: | 2014-02-10 14:26:56 |
Message-ID: | 837247210.6606013.1392042416109.JavaMail.zimbra@uci.cu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola
Estoy creando un trigger sobre una tabla que se llena como resultado de una réplica que se realiza utilizando slony1 versión 2.2.1. La tabla se actualiza como resultado de la réplica pero el trigger nunca se dispara. El trigger está puesto para que se ejecute sobre las sentencias INSERT, UPDATE y DELETE.
Aquí les dejo la sentencia de creación del trigger
CREATE TRIGGER tg_sync_nrol
AFTER INSERT OR UPDATE OR DELETE
ON _sync.nrol
FOR EACH STATEMENT
EXECUTE PROCEDURE _sync.ftg_sync_nrol();
y el código de la función que ejecuta
CREATE OR REPLACE FUNCTION _sync.ftg_sync_nrol()
RETURNS trigger AS
$BODY$
BEGIN
IF (TG_OP = 'INSERT') THEN
INSERT INTO nrol (idrol, rol, description) VALUES (NEW.idrol, NEW.rol, '');
RETURN NEW;
ELSIF (TG_OP = 'UPDATE') THEN
IF OLD.idrol != NEW.idrol OR OLD.rol != NEW.rol THEN
UPDATE nrol SET (idrol, rol) = (NEW.idrol, NEW.rol) WHERE idrol = OLD.idrol;
END IF;
RETURN NEW;
ELSIF (TG_OP = 'DELETE') THEN
DELETE FROM nrol WHERE idrol = OLD.idrol;
RETURN OLD;
END IF;
RETURN NULL;
END;
$BODY$
Saludos
________________________________________________________________________________________________
III Escuela Internacional de Invierno en la UCI del 17 al 28 de febrero del 2014. Ver www.uci.cu
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2014-02-10 15:16:00 | Re: Bloqueo de hojas de calculo |
Previous Message | Jorge Alberto Aquino Andrade | 2014-02-10 13:58:01 | Re: Bloqueo de hojas de calculo |