Ref cursor with Execute immediate Ref cursor with Execute immediate oracle oracle

Ref cursor with Execute immediate


  1. You need to create a type to keep the data you select is going to return,for example.Imagine this is yours users table user(id number, name varchar2), your type should look like:

    create type users_type as object (id number, name varchar2);
  2. Create a type table to keep object to created above.

    create type users_table_object as table of users_type;
  3. create the procedure:

    create the procedure test(cv_1  OUT SYS_REFCURSOR....)asusers_table_object;v_query VARCHAR2(2000);  beginv_query := N'select users_type(id, name) from users ';execute immediatebulk collect into users_table_object;open cv_1 for table(users_table_object)