FOR문을 사용하면 커서의 OPEN, FETCH, CLOSE가 자동 발생하므로 따로 기술할 필요가 없고, 레코드 이름도 자동 선언되므로 따로 선언할 필요가 없다.
FOR문에서 커서 사용 문법
FOR문에서 커서 사용 예제
SQL> CREATE OR REPLACE PROCEDURE ForCursor_Test IS -- Cursor 선언 CURSOR dept_sum IS SELECT b.dname, COUNT(a.empno) cnt, SUM(a.sal) salary FROM emp a, dept b WHERE a.deptno = b.deptno GROUP BY b.dname; BEGIN -- Cursor를 FOR문에서 실행시킨다 FOR emp_list IN dept_sum LOOP DBMS_OUTPUT.PUT_LINE('부서명 : ' || emp_list.dname); DBMS_OUTPUT.PUT_LINE('사원수 : ' || emp_list.cnt); DBMS_OUTPUT.PUT_LINE('급여합계 : ' || emp_list.salary); END LOOP; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(SQLERRM||'에러 발생 '); END; / -- DBMS_OUTPUT.PUT_LINE을 출력하기 위해 사용 SQL> SET SERVEROUTPUT ON ; -- 실행 SQL> EXECUTE ForCursor_Test; 부서명 : ACCOUNTING 사원수 : 3 급여합계 : 8750 부서명 : RESEARCH 사원수 : 6 급여합계 : 10875 부서명 : SALES 사원수 : 6 급여합계 : 9305
태그
문서에 대하여
- - 강좌 URL : http://www.gurubee.net/lecture/1065
- - 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- - 구루비의 모든 강좌는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.
'IT > 오라클' 카테고리의 다른 글
Oracle PL/SQL 강좌 6.2.4. 파라미터가 있는 커서(Cursors with Parameters) (0) | 2015.11.24 |
---|---|
Oracle PL/SQL 강좌 6.2.3. 명시적 커서의 속성(Explicit Cursor Attributes) (0) | 2015.11.24 |
Oracle PL/SQL 강좌 6.2.1. 명시적 커서(EXPLICIT CURSOR) (0) | 2015.11.24 |
Oracle PL/SQL 강좌 6.1. 암시적 커서(Implicit Cursor) (0) | 2015.11.24 |
Oracle PL/SQL 강좌 5.2. 조건제어(IF) (0) | 2015.11.24 |