본문 바로가기

프로그램/oracle

[ORACLE] SYS_REFCURSOR 의 METADATA 구하는 소스

반응형

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