On Sat, Nov 15, 2008 at 5:44 AM, miguel <[EMAIL PROTECTED]> wrote:
> 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))

no puedes usar NEW en un DELETE

>                     OR
>                (COALESCE(OLD.AD_ORGTRX_ID, 0) <>
> COALESCE(NEW.AD_ORGTRX_ID, 0))

ni aqui

>                     OR
>                (COALESCE(OLD.DOCUMENTNO, '.') <>
> COALESCE(NEW.DOCUMENTNO, '.'))

ni aqui

>                     OR
>                (COALESCE(OLD.AD_ORG_ID, 0) <> COALESCE(NEW.AD_ORG_ID,
> 0))

ni aqui

>                     OR
>                (COALESCE(OLD.AD_CLIENT_ID, 0) <>
> COALESCE(NEW.AD_CLIENT_ID, 0))

ni aqui

-- 
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157
--
TIP 8: explain analyze es tu amigo

Responder a