Vale, sigo con mi monólogo (jaja) he encontrado algo y creo que es correcto, a ver si alguien me lo puede confirmar:
Código SQL:
Ver originalCREATE OR REPLACE FUNCTION ingreso_mensual(fecha DATE)
RETURN NUMERIC IS res NUMERIC;
BEGIN
SELECT SUM(PRECIO) INTO res FROM LINEA_DE_RECIBO INNER JOIN RECIBO ON LINEA_DE_RECIBO.SEC_RECIBO=RECIBO.SEC_RECIBO
WHERE EXTRACT(MONTH FROM RECIBO.FECHA_ENTR)=EXTRACT(MONTH FROM fecha) AND
EXTRACT(YEAR FROM RECIBO.FECHA_ENTR)=EXTRACT(YEAR FROM fecha);
IF(res IS NULL ) THEN res:=0;
END IF;
RETURN res;
END ingreso_mensual;
/