Trigger con Foreign Data Wrapper

From: Aracelly Collazos <aracelly(dot)ta(dot)c(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Trigger con Foreign Data Wrapper
Date: 2014-02-24 21:30:45
Message-ID: CAKeMKUi+Mg_LWii_Hav0gvYE2zQyQLVtyYTBTD8Shpfp_0bEdA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Tengo 2 tablas similares, con algunos campos iguales, en dos bases de datos
diferentes, necesito que esten sincronizadas, es decir que si realizo algun
cambio en la tabla A de la BD A, estos cambios tambien se realicen en la
Tabla B de la BD B, para esto cree triggers After Update en ambas tablas, y
su procedimiento es el siguiente:

CREATE OR REPLACE FUNCTION t_usuario()
RETURNS trigger AS
$BODY$
DECLARE
BEGIN
UPDATE usuario_web_f set password=new.clave where username=new.nombre;
RETURN new;
EXCEPTION WHEN OTHERS THEN RAISE NOTICE 'SQL ERROR: %', SQLERRM;
END;
$BODY$

donde usuario_web_f es una tabla foranea que hace referencia a otra base de
datos, probe los triggers por separado y funcionan correctamente, el
problema surge cuando uso cada trigger en su tabla correspondiente, me sale
el siguiente error:

NOTICE: SQL ERROR: la ejecución alcanzó el fin del procedimiento disparador
sin encontrar RETURN
ERROR: la ejecución alcanzó el fin del procedimiento disparador sin
encontrar RETURN
CONTEXTO: función PL/pgSQL t_usuario()

Quisiera saber que es lo que pasa y si tal vez debo usar otra opción para
lograr mantener sincronizadas mis tablas. Muchas gracias de antemano!

--
Saludos
Aracelly

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gilberto Castillo 2014-02-24 22:07:49 Re: Trigger con Foreign Data Wrapper
Previous Message Alvaro Herrera 2014-02-21 19:42:41 Re: Problema con dblink