Puedes intentar usar el
Execute Statement, nunca lo he usado con parámetros de fechas pero me supongo que asi debería funcionar:
Código SQL
[-]
CREATE PROCEDURE REPNUM (
E_LIMITE INTEGER = 1,
E_INICIAL DATE,
E_FINAL DATE)
RETURNS (
S_PREFIJO VARCHAR(3),
S_NUMERO VARCHAR(20),
S_LLAMADAS INTEGER)
AS
begin
FOR
execute statement 'select first ' || CAST(E_limite AS CHAR(1)) || 'Prefijo , Numero, count(numero) as numlla from llamadas where fecha between '||
CAST(E_Inicial AS CHAR(11)) || ' and '||
CAST(E_Final AS CHAR(11)) || ' group by prefijo, numero order by prefijo, numlla desc'
INTO :S_Prefijo, :S_Numero, :S_Llamadas DO
suspend;
end
Pruebalo y si te funciona, espero te sirva
.