Hola.
Para recorrer una consulta, dentro de un procedimiento o un trigger. En Interbase/Firebird se utiliza una construcción FOR SELECT en lugar de cursores.
Te recomiendo que busques el FOR SELECT en la documentación de IB/FB. Aquí tienes un ejemplo de su utilización.
Código SQL
[-]
for select CODIGO, NOMBRE
from TABLA
where Fecha > :FECHA
into :CODIGO, :NOMBRE
do begin
update TABLA set NOMBRE = 'Nombre: ' || :NOMBRE where CODIGO = :CODIGO;
end
Saludos.