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
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 |