커서가 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
태그
문서에 대하여
- - 강좌 URL : http://www.gurubee.net/lecture/1067
- - 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- - 구루비의 모든 강좌는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.
'IT > 오라클' 카테고리의 다른 글
Oracle PL/SQL 강좌 7.1. 예외(Exception) (0) | 2015.11.24 |
---|---|
Oracle PL/SQL 강좌 6.2.5. The WHERE CURRENT OF Clause (0) | 2015.11.24 |
Oracle PL/SQL 강좌 6.2.3. 명시적 커서의 속성(Explicit Cursor Attributes) (0) | 2015.11.24 |
Oracle PL/SQL 강좌 6.2.2. FOR문에서 커서 사용(Cursor FOR Loops) (0) | 2015.11.24 |
Oracle PL/SQL 강좌 6.2.1. 명시적 커서(EXPLICIT CURSOR) (0) | 2015.11.24 |