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?

--
TIP 6: �Has buscado en los archivos de nuestra lista de correo?
               http://archives.postgresql.org/pgsql-es-ayuda

Responder a