Re: ayuda con trigger

From: Emanuel Calvo Franco <postgres(dot)arg(at)gmail(dot)com>
To: Virginia <mavir78(at)gmail(dot)com>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ayuda con trigger
Date: 2009-06-22 14:34:33
Message-ID: f205bb120906220734k57ad524dr8d332f7e478a3eb0@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

>
> CREATE OR REPLACE FUNCTION autoservicios.historico_sobres()
> RETURNS trigger AS
> $BODY$
> DECLARE
> anio integer;
> mes integer;
> codigo integer;
> fecha varchar(10);
> fecha_nueva varchar(10);
> BEGIN
> IF TG_OP = 'INSERT' THEN
> SELECT dat_fecha INTO fecha FROM autoservicios.toi019_acumulado WHERE
> nu_co_empleado = NEW.nu_co_empleado;
> anio = substring(fecha,0,4);
> anio = anio + 1;

Que versión de Pgsql estas usando? por lo que veo estas usando casteo
implicito...

> mes = substring(fecha,5,2);
> IF (mes > 1) THEN
> mes = mes - 1;
> ELSE
> mes = 12;
> END IF;
> fecha_nueva = anio || '-' || mes || '- 01';
> SELECT co_acumulado INTO codigo FROM autoservicios.toi019_acumulado WHERE
> nu_co_empleado = NEW.nu_co_empleado AND dat_fecha < fecha_nueva;
> DELETE FROM autoservicios.tr001_acumulado_concepto WHERE nu_co_acumulado =
> codigo;
> DELETE FROM autoservicios.toi019_acumulado WHERE co_acumulado = codigo;
> END IF;
> RETURN NEW;
> END;
> $BODY$
> LANGUAGE 'plpgsql' VOLATILE
> COST 100;
> ALTER FUNCTION autoservicios.historico_sobres() OWNER TO postgres;
>
> ¿qué estoy haciendo mal? ¿cómo pruebo esta funcion para detectar el error?
>

La función te tira error o no esta haciendo lo que querés que haga?

--
Emanuel Calvo Franco
ArPUG [www.arpug.com.ar] / AOSUG Member
www.emanuelcalvofranco.com.ar

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Emanuel Calvo Franco 2009-06-22 14:55:36 Re: ayuda con trigger
Previous Message Terry Yapt 2009-06-22 10:10:52 Re: Sobre los TableSpaces