> > 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 -- TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podr� leerlo