소리소문 없이... 사랑도 명예도 이름도 남김 없이...
DexCore.net

DataBase/Oracle

Oracle Table Function 예제

탑~! 2012. 6. 4. 16:56

CREATE OR REPLACE FUNCTION TRF.F_CORR_DATA

                           RETURN P_CORR_DATA.tab_CORR_DATA_table PIPELINED IS

TYPE         ref0 IS REF CURSOR;

cur0         ref0;

out_rec      P_CORR_DATA.tab_CORR_DATA;


BEGIN


    OPEN cur0 FOR 

        SELECT CalcFunction, fnCalcStr(CalcFunction) FROM TESTTABLE;

    LOOP

        FETCH cur0 INTO out_rec.CalcStr, out_rec.Result;

        EXIT WHEN cur0%NOTFOUND;

        PIPE ROW(out_rec);

    END LOOP;

    CLOSE cur0;


RETURN;

END F_CORR_DATA;

/




호출 : SELECT * FROM TABLE(F_CORR_DATA());

728x90
반응형