Ver Mensaje Individual
  #19  
Antiguo 17-07-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.561
Reputación: 25
egostar Va camino a la fama
, Funcionó perfectamente.

Muchas gracias ariefez, pues nada, cada día se aprende algo nuevo.

Así quedo finalmente mi SP

Código SQL [-]
SET TERM ^ ;

CREATE PROCEDURE NEW_PROCEDURE (
    e_limite integer,
    e_inicial date,
    e_final date)
returns (
    s_prefijo varchar(3),
    s_numero varchar(20),
    s_llamadas integer,
    s_duracion numeric(15,0))
as
begin
  /* Procedure Text */
  FOR
    select first (:e_limite) Prefijo, Numero, COUNT(*) as NumLla,
       SUM(DurEntera) as TotDur from llamadas
    where fecha between :e_inicial and :e_final
    group by prefijo, numero order by NumLla desc
  INTO :S_Prefijo, :s_numero, :s_duracion, s_llamadas DO
  suspend;
end^

SET TERM ; ^

GRANT SELECT ON LLAMADAS TO PROCEDURE NEW_PROCEDURE;

GRANT EXECUTE ON PROCEDURE NEW_PROCEDURE TO SYSDBA;

Solo hago notar que la funcion SUM() requiere de un tipo de dato Numeric, intentaba asignarlo como Integer y me daba un error de casting.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita