El asterisco (*) es para seleccionar todos los campos, no tiene nada que ver con las filas.
Echa un vistazo a
esta página de ayuda para firebird.
Debes poner
suspend dentro del bucle
for select para que devuelva cada registro.
Ejemplo:
Código SQL
[-]
CREATE PROCEDURE SPGETASIENTOSCONDESCUADRE (
codigoempresa domcodigononulo,
ejercicio domejercicio)
returns (
numeroasiento integer,
sumadebe numeric(15,2),
sumahaber numeric(15,2),
saldo numeric(15,2))
as
begin
for
select numeroasiento, sum(debe) debe, sum(haber) haber
from tbapuntes
where codigoempresa= :codigoempresa
and ejercicio= :ejercicio
group by codigoempresa, ejercicio, numeroasiento
having sum(debe) <> sum(haber)
into :numeroasiento, :sumadebe, :sumahaber
do
begin
saldo = sumadebe - sumahaber;
suspend;
end
end