오렌지에서 OUT이 있는 프로시저 실행에 대해 질문드립니다. 1 2 6,776

by KU_EDGE [PL/SQL] [2016.03.07 15:35:47]


 

프로시져가

~~~ IN VARCHAR2

~~~~ IN VARCHAR2

OUT_CUR OUT ResultType.CURSORTYPE  

 

IS 

 

BEGIN

OPEN OUT_CUR FOR

SELECT ~~~~~~ FROM ~~~~

 

이런식으로 SELECT 결과물이 OUT_CUR 에 담기는데 도대체 실행방법을 모르곘습니다.

DECLARE
?????
BEGIN
프로시져( 'aaa', 'bbb', ???? );
END;

 

 

어떻게 실행시켜야 결과값을 볼 수 있을까요..?

 

 

 

 

 

 

by 마농 [2016.03.07 16:21:32]
DECLARE
    v1 VARCHAR2(10) := 'aaa';
    v2 VARCHAR2(10) := 'bbb';
    v3 ResultType.CURSORTYPE;
BEGIN
    프로시져(v1, v2, v3);
END;
/

 


by 신이만든짝퉁 [2016.03.07 16:26:17]

결과값을 보려면 프로시저 내부에

dbms_output을 사용하여 해당 컬럼의 값을 루프로 돌려서 보여주거나,

DECLARE
    V1 VARCHAR2(10) := 'aaa';
    V2 VARCHAR2(10) := 'bbb';
    V3 RESULTTYPE.CURSORTYPE;
BEGIN
    프로시져(V1, V2, V3);
    FOR DATA_LIST IN V3 LOOP
        DBMS_OUTPUT.PUT_LINE(DATA_LIST.COL1);
        DBMS_OUTPUT.PUT_LINE(DATA_LIST.COL2);
    END LOOP;
END;

토드 같은 툴을 사용하는 경우

BEGIN
    프로시져(:v1, :v2, :v3);
END;

위와 같이 바인드 변수 처리하고, v3 데이터 타입을 cursor 로 지정하면 그리드로 볼 수 있습니다.

오렌지도 비슷한 기능이 있을 걸로 예상됩니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입