Explicit Cursor 속성
%ISOPEN
- - 커서가 OPEN되어 있으면 TRUE
- - %ISOPEN속성을 이용하여 커서가 열려있는지 알 수 있다.
%NOTFOUND
- - 패치한 데이터가 행을 반환하지 않으면 TRUE
- - %NOTFOUND속성을 이용하여 루프를 종료 할 시점을 찾는다.
%FOUND
- - 패치한 데이터가 행을 반환하면 TRUE
%ROWCOUNT
- - 현재까지 반환 된 모든 데이터 행의 수
- - %ROWCOUNT속성을 이용하여 정확한 숫자만큼의 행을 추출한다.
Explicit Cursor 속성 예제
SQL> CREATE OR REPLACE PROCEDURE AttrCursor_Test IS v_empno emp.empno%TYPE; v_ename emp.ename%TYPE; v_sal emp.sal%TYPE; CURSOR emp_list IS SELECT empno, ename, sal FROM emp; BEGIN DBMS_OUTPUT.ENABLE; OPEN emp_list; LOOP FETCH emp_list INTO v_empno, v_ename, v_sal; -- 데이터를 찾지 못하면 빠져 나갑니다 EXIT WHEN emp_list%NOTFOUND; END LOOP; DBMS_OUTPUT.PUT_LINE('전체데이터 수 ' || emp_list%ROWCOUNT); CLOSE emp_list; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('ERR MESSAGE : ' || SQLERRM); END; / -- DBMS_OUTPUT.PUT_LINE을 출력하기 위해 사용 SQL> SET SERVEROUTPUT ON ; -- 실행 결과 SQL> EXECUTE AttrCursor_Test; 전체데이터 수 15
태그
문서에 대하여
- - 강좌 URL : http://www.gurubee.net/lecture/1066
- - 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- - 구루비의 모든 강좌는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.
'IT > 오라클' 카테고리의 다른 글
Oracle PL/SQL 강좌 6.2.5. The WHERE CURRENT OF Clause (0) | 2015.11.24 |
---|---|
Oracle PL/SQL 강좌 6.2.4. 파라미터가 있는 커서(Cursors with Parameters) (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 |
Oracle PL/SQL 강좌 6.1. 암시적 커서(Implicit Cursor) (0) | 2015.11.24 |