Un Cursor un PB es una forma muy util para procesar un set de resultados registro por registro. te envio un ejemplo:
string depto
string empleado
string nombre
DECLARE dept_curs CURSOR FOR SELECT codigo,
nombre FROM departamentos;
OPEN dept_curs;
if SQLCA.sqlcode < 0 then
MessageBox("Open Cursor",SQLCA.sqlerrtext)
end if
DO WHILE SQLCA.sqlcode = 0
FETCH dept_curs INTO :depto, :empleado;
if SQLCA.sqlcode < 0 then
MessageBox("Fetch Error",SQLCA.sqlerrtext)
elseif SQLCA.sqlcode = 0 then
SELECT nombre_empleado INTO
:nombre FROM empleados WHERE emp_id = :empleado;
if SQLCA.sqlcode <> 0 then
MessageBox("select", &
SQLCA.sqlerrtext)
end if
end if
LOOP
CLOSE dept_curs;
if SQLCA.sqlcode <> 0 then
MessageBox("Close Cursor", SQLCA.sqlerrtext)
end if
//fin del codigo
Espero que te pueda ser util
Keylor