uParse query and get column list:
uFUNCTION f_getQuery_cl (in_sql_tx, i_limit_nr
number:=64000)
uRETURN CLOB IS
u v_cur integer := dbms_sql.open_cursor;
u v_columns_nr number :=
0;
u v_columns_tt
dbms_sql.desc_tab;
u ...
u pragma
autonomous_transaction;
uBEGIN
u DBMS_SQL.parse
(v_cur, in_sql_tx,
DBMS_SQL.native);
u DBMS_SQL.describe_columns
(v_cur, v_columns_nr,
v_columns_tt);
u FOR i IN 1 ..
v_columns_nr LOOP
u v_columnList_tx :=
u v_columnList_tx || '||chr(9)||''"''||v_query_tt
(i).'||
u v_columns_tt (i).col_name||'||''"'' ';
u v_header :=
v_header||chr(9)||'"'||
v_columns_tt (i).col_name||'"';
u END LOOP;