Connect programmer/p@9i


create or replace package Employees_Cur_Dynamic_Sql is
  type Last_Names_Tab_t is table of employees.last_name%type
    index by binary_integer;


  function Fetch_All_Rows ( p_stmt in varchar2 )
    return Last_Names_Tab_t;
end Employees_Cur_Dynamic_Sql;
/
Show Errors


create or replace package body Employees_Cur_Dynamic_Sql is

  function Fetch_All_Rows ( p_stmt in varchar2 )
     return Last_Names_Tab_t
  is
    v_last_names_tab Last_Names_Tab_t;
    c_employees sys_refcursor;

  begin
    open c_employees for p_stmt;

    fetch c_employees bulk collect into v_last_names_tab;

    -- Activate the next statement for more refined observations...
    /*
    Wait.Go;

    */

    close c_employees;
    return v_last_names_tab;
  end Fetch_All_Rows;

end Employees_Cur_Dynamic_Sql;
/
Show Errors