반응형
SYS_REFCURSOR 의 METADATA 구하는 소스
DECLARE
r SYS_REFCURSOR;
cur INTEGER;
col_tab DBMS_SQL.DESC_TAB;
col_cnt INTEGER;
BEGIN
OPEN r FOR
select '1', '2' from dual ;
cur := DBMS_SQL.TO_CURSOR_NUMBER(r);
DBMS_SQL.DESCRIBE_COLUMNS(cur, col_cnt, col_tab);
FOR i IN 1..col_cnt LOOP
DBMS_OUTPUT.PUT_LINE('Column '||i||': '||col_tab(i).col_name
||' Data type is: '||col_tab(i).col_type );
END LOOP;
CLOSE r;
END;
오라클 버젼 12c 부터 되는 것 같아서 테스트해보진 못함
출처
http://stackoverflow.com/questions/27228246/how-to-iterate-through-a-sys-refcursor-with-unknown-type