Trigger con varias funciones

From: roger gue <rockobop(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Trigger con varias funciones
Date: 2005-05-30 21:11:23
Message-ID: bd5aaa8a050530141149fb867d@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Holas lista como estan mieren pues tengo un pequeño lio con triggers
generales aqui les va mi duda espero me puedan ayudar tengo una
funcion x q calcula salario y montos, y otra q me controla los
presupuestos es caso es q ambas tienen se ser ejecutadas cuando se
dispare un trigger pero no se como hacerlo el codigo es el siguiente:

CREATE FUNCTION ctrl_presup () RETURNS TRIGGER AS '
BEGIN
--controlando
if (new.monto_ejecutado>new.monto_presupuesto)
THEN
RAISE EXCEPTION ''no puede haber un monto
presupuestado mayor al ejecutado'';
END IF;
RETURN NEW;
END;
' LANGUAGE 'plpgsql';

CREATE FUNCTION ctrl_presp_finan_rec_eco () RETURNS TRIGGER AS '
DECLARE
presp integer;
BEGIN
SELECT e.presupuesto
FROM entidadfinanciera e,recursoeconomico r
WHERE e.cod_entidad_finan=r.cod_entidad_finan AND
e.cod_entidad_finan = new.cod_entidad_finan;
presp=presupuesto;

--controlando que coinsidan los montos presupuestados
if (new.monto_presupuesto!=presp)
then new.monto_presupuesto=pres;
end if;
RETURN NEW;
END;
' LANGUAGE 'plpgsql';

REATE TRIGGER ctrl_presp_finan_rec_eco BEFORE INSERT OR UPDATE ON
recursoeconomico

FOR EACH ROW EXECUTE PROCEDURE ctrl_presp_finan_rec_eco();
FOR EACH ROW EXECUTE PROCEDURE ctrl_presup();

como veran el unico problema q tengo es al hacer corre las lines for
each, gracias a todos
suerte

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jairo Martín Miguel 2005-05-30 21:15:21 Re: ejecutar una consulta creada
Previous Message Alvaro Herrera 2005-05-30 20:51:26 Re: compilacion y rpms de postgres