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:55:36
Message-ID: f205bb120906220755w2fed54a0k7dd2b252e2c75e5f@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 21 de junio de 2009 19:38, Virginia<mavir78(at)gmail(dot)com> escribió:
> Buenas tardes, estoy tratando de implementar un trigger en mi base de datos
> de tal manera que cuando inserte un nuevo registro en mi tabla de
> "acumulados" se borre el registro cuya fecha sea superior al último año, es
> algo así como las consultas via internet de los bancos, que solo muestra las
> transacciones de los últimos 12 meses.
> Por ejemplo si estoy insertando el acumulado del mes de junio 2009, se debe
> borrar el registro correspondiente al junio 2008 y solo mostrar los
> acumulados de los últimos 12 meses...
>
> El trigger es el siguiente:
>
> -- Function: autoservicios.historico_sobres()
>
> -- DROP FUNCTION autoservicios.historico_sobres();
>
> 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;
> mes = substring(fecha,5,2);

Esto lo podes hacer de este modo:

SELECT dat_fecha INTO fecha FROM autoservicios.toi019_acumulado WHERE
nu_co_empleado = NEW.nu_co_empleado;

select (extract(year from fecha)+1)::<tipo_de_anio> into anio;
select extract(month from fecha) into mes;

Pero te recomiendo no utilizarlas como string, es preferible que uses funciones
relativas a fechas

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

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Diego Ayala 2009-06-22 15:02:29 excepcion en postgres
Previous Message Emanuel Calvo Franco 2009-06-22 14:34:33 Re: ayuda con trigger