Virginia 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...
Lo estás haciendo del modo más difícil posible. Realmente tu trigger debería verse algo así: $body$ begin if tg_op = 'INSERT' THEN DELETE FROM autoservicios.tr001_acumulado_concepto WHERE dat_fecha > NEW.dat_fecha; end if; end; $body$; El resto es pura cháchara innecesaria. -- Alvaro Herrera http://www.amazon.com/gp/registry/CTMLCN8V17R4 "Los trabajadores menos efectivos son sistematicamente llevados al lugar donde pueden hacer el menor daño posible: gerencia." (El principio Dilbert) -- TIP 5: ¿Has leído nuestro extenso FAQ? http://www.postgresql.org/docs/faqs.FAQ.html