Saltar al contenido

CURSOR DIN脕MICO FORMS 10G

Os dejo un ejemplo sobre como crear un cursor din谩mico en Forms.

PROCEDURE cursor IS
my_cursor INTEGER;
NUM_ROWS_PROCESSED INTEGER;
id NUMBER;
valor VARCHAR2(45);
SQLSTR VARCHAR2(70);
 
BEGIN
SQLSTR := 'SELECT id, valor FROM test  ';
my_cursor:= DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE (my_cursor, SQLSTR, 1);
DBMS_SQL.DEFINE_COLUMN (my_cursor, 1, id);
DBMS_SQL.DEFINE_COLUMN (my_cursor, 2, VALOR, 45);
NUM_ROWS_PROCESSED := DBMS_SQL.EXECUTE (my_cursor);
 
LOOP
IF DBMS_SQL.FETCH_ROWS (my_cursor) > 0 THEN
DBMS_SQL.COLUMN_VALUE (my_cursor, 1, id);
DBMS_SQL.COLUMN_VALUE (my_cursor, 2, valor);
message(TO_CHAR(id) || ' ' || valor);
message(TO_CHAR(id) || ' ' || valor);
ELSE
EXIT;
END IF;
END LOOP;
DBMS_SQL.CLOSE_CURSOR (my_cursor);
END;