From: | miguel <mvillagomez(at)sayab(dot)com(dot)mx> |
---|---|
To: | Lista Postgres <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Pregunta sobre error en disparador |
Date: | 2008-11-15 10:44:46 |
Message-ID: | 1226745886.3059.18.camel@sayab-w03.sayab |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Tengo el siguiente disparador
CREATE OR REPLACE FUNCTION movement_trg() RETURNS "trigger" AS $$
DECLARE
v_DateNull TIMESTAMP := TO_DATE('01-01-1900', 'DD-MM-YYYY');
BEGIN
IF
(
OLD.PROCESSED = 'Y' AND
(/*Inicio Condicion 2*/
(COALESCE(OLD.MOVEMENTDATE, v_DateNull) <>
COALESCE(NEW.MOVEMENTDATE, v_DateNull))
OR
(COALESCE(OLD.AD_ORGTRX_ID, 0) <>
COALESCE(NEW.AD_ORGTRX_ID, 0))
OR
(COALESCE(OLD.DOCUMENTNO, '.') <>
COALESCE(NEW.DOCUMENTNO, '.'))
OR
(COALESCE(OLD.AD_ORG_ID, 0) <> COALESCE(NEW.AD_ORG_ID,
0))
OR
(COALESCE(OLD.AD_CLIENT_ID, 0) <>
COALESCE(NEW.AD_CLIENT_ID, 0))
)/*Fin Condicion 2*/
)
THEN
RAISE EXCEPTION '%', 'Document processed/posted' ; --OBTG:-20501--
END IF;
IF (TG_OP = 'DELETE') THEN RETURN OLD; ELSE RETURN NEW; END IF;
END;
$$ LANGUAGE 'plpgsql' VOLATILE;
Qué al ejecutarlo me sale el error:
ERROR: record "new" is not assigned yet
DETAIL: The tuple structure of a not-yet-assigned record is
indeterminate.
CONTEXT: PL/pgSQL function "movement_trg" line 25 at if
********** Error **********
ERROR: record "new" is not assigned yet
SQL state: 55000
Detail: The tuple structure of a not-yet-assigned record is
indeterminate.
Context: PL/pgSQL function "movement_trg" line 25 at if
Alguien podría darme una ayudadita?
From | Date | Subject | |
---|---|---|---|
Next Message | miguel | 2008-11-15 13:24:02 | Re: Pregunta sobre error en disparador |
Previous Message | Javier Chávez B. | 2008-11-15 08:55:49 | Re: join - versus - exists [performance] |