También puedes usar un 'store procedure', por ejemplo, si tenemos la tabla:
tbProvincias
codigo integer
nombre varchar(32)
Creamos el store procedure:
Código SQL
[-]
SET TERM ^ ;
CREATE or alter PROCEDURE prueba
RETURNS
( contador integer, codigo integer, nombre varchar(32) )
AS
BEGIN
contador = 0;
for select codigo, nombre
from TBPROVINCIAS
order by nombre, codigo
into :codigo, :nombre
do
BEGIN
contador = :contador+1;
suspend;
end
END^
SET TERM ; ^
Lo ejecutamos:
Y el resultado será algo así: