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

Responder a