PROBLEMA CON TRIGGER

From: "Roberto Aguirre" <raguirre(at)infonegocio(dot)net(dot)pe>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: PROBLEMA CON TRIGGER
Date: 2006-01-28 00:54:58
Message-ID: 000001c623a5$766e3d70$0401a8c0@srvcampos
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola , por favor si me pueden ayudar con esto.......

Ten la sgte funciona que se ejecuta luego de un TRIGGER BEFORE UPDATE

CREATE OR REPLACE FUNCTION sgct.desasocia_unidad_transp()
RETURNS "trigger" AS
$BODY$
DECLARE
cod_tracto integer;
cod_semirem integer;
BEGIN
IF old.est_unid='EV001' and new.est_unid='EV002' then

SELECT t.cod_unid_tract,
t.cod_unid_rem
INTO cod_tracto,
cod_semirem
FROM sgct.hist_asoc_unid_transp t
WHERE t.cod_asoc_unid_transp = (SELECT max(cod_asoc_unid_transp) FROM
hist_asoc_unid_transp Where cod_unid_transp=old.cod_unid_transp) and
t.cod_unid_transp = old.cod_unid_transp;

UPDATE sgct.unidad_transp
SET usuario = user,
programa = 'tg_desasocia_unid',
factual = CURRENT_TIMESTAMP,
est_unid = 'EH001'
WHERE cod_unid_transp = cod_tracto;

UPDATE sgct.unidad_transp
SET usuario = user,
programa = 'tg_desasocia_unid',
factual = CURRENT_TIMESTAMP,
est_unid = 'EH001'
WHERE cod_unid_transp = cod_semirem;

End if;

RETURN new;
END;
$BODY$
LANGUAGE 'plpgsql' STABLE;
ALTER FUNCTION sgct.desasocia_unidad_transp() OWNER TO postgres;
GRANT EXECUTE ON FUNCTION sgct.desasocia_unidad_transp() TO public;
GRANT EXECUTE ON FUNCTION sgct.desasocia_unidad_transp() TO postgres;



CREATE TRIGGER "desasocia_unidad_transp" BEFORE UPDATE
ON "sgct"."unidad_transp_empresa" FOR EACH ROW
EXECUTE PROCEDURE "sgct"."desasocia_unidad_transp"();

El problema esta que al hacer insert sobre la tabla se ejecuta el trigger da
el sgte error

ERROR
record "old" has no filed "est_unid"

Que puede estar pasando???

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2006-01-28 06:00:53 Re: PROBLEMA CON TRIGGER
Previous Message Enrique David Avalos Ortega 2006-01-28 00:04:04 Migrar Base de datos