Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the ultimate-member domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /ledcorps/www/wp/wp-includes/functions.php on line 6114 6.2.4 파라미터가 있는 커서(Cursors with Parameters) – 대나무숲

6.2.4 파라미터가 있는 커서(Cursors with Parameters)

출처 http://www.gurubee.net/lecture/1067

커서가 OPEN되고 질의가 실행되면 매개 변수 값을 커서에 전달할 수 있다. 다른 active set을 원할때 마다 explicit 커서를 따로 선언해야 한다.

파라미터가 있는 커서 문법

파라미터가 있는 커서 예제

 
SQL> CREATE OR REPLACE PROCEDURE ParamCursor_Test
        (param_deptno   emp.deptno%TYPE) 
     IS

        v_ename     emp.ename%TYPE;

        -- Parameter가 있는 커서의 선언
        CURSOR emp_list(v_deptno emp.deptno%TYPE) IS
        SELECT ename 
        FROM emp
        WHERE deptno = v_deptno;

     BEGIN

        DBMS_OUTPUT.ENABLE;
        DBMS_OUTPUT.PUT_LINE(' ****** 입력한 부서에 해당하는 사람들 ****** ');              

        -- Parameter변수의 값을 전달(OPEN될 때 값을 전달한다)
        FOR emplst IN emp_list(param_deptno) LOOP    

          DBMS_OUTPUT.PUT_LINE('이름 : ' || emplst.ename);

        END LOOP;    

        EXCEPTION  
          WHEN OTHERS THEN
             DBMS_OUTPUT.PUT_LINE('ERR MESSAGE : ' || SQLERRM);         

     END; 
     /

--DBMS_OUTPUT.PUT_LINE을 출력하기 위해 사용
SQL> SET SERVEROUTPUT ON ; 

-- 실행 결과
SQL> EXECUTE ParamCursor_Test(10);
****** 입력한 부서에 해당하는 사람들 ******
이름 : CLARK
이름 : KING
이름 : MILLER
    

답글 남기기 0

Your email address will not be published. Required fields are marked *