From: | miguel <mvillagomez(at)sayab(dot)com(dot)mx> |
---|---|
To: | Lista Postgres <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Pregunta sobre error en disparador |
Date: | 2008-11-15 13:24:02 |
Message-ID: | 1226755442.3059.27.camel@sayab-w03.sayab |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El sáb, 15-11-2008 a las 04:44 -0600, miguel escribió:
> 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?
Disculpen olvide decir que esto pasa cuando manda ejecutar un DELETE
dentro de la tabla y el resto de la definición es:
CREATE TRIGGER movement_trg
AFTER UPDATE OR DELETE
ON m_movement
FOR EACH ROW
EXECUTE PROCEDURE movement_trg();
>
> --
> TIP 6: Has buscado en los archivos de nuestra lista de correo?
> http://archives.postgresql.org/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Juan Ramirez | 2008-11-15 15:09:34 | RE: join - versus - exists [performance] |
Previous Message | miguel | 2008-11-15 10:44:46 | Pregunta sobre error en disparador |