Oracle PL/SQL 강좌
명시적 커서의 속성(Explicit Cursor Attributes) 11 8 99,999+

by 구루비 %NOTFOUND %FOUND %ROWCOUNT EXPLICIT CURSOR PL/SQL CURSOR [2002.01.20]


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 김남열 [2006.11.20 13:37:32]
좋은 자료 감사합니다. ^^*

by 쩡 [2007.07.10 19:46:06]
implicit와 explicit cursor의 속성이 모두 4가지 이군요~
차이점은 표현방법이 sql%속성 : cursor명%속성 으로 다르네요
감사합니다. ^^

by 김윤경 [2007.11.09 15:04:25]
명시적 커서는 Cursor 이란 단어가 들어가는게 명시적 커서라 생각해요.

by 유재훈 [2007.12.06 16:42:29]
개념을 제대로 잡을 수 있네요. 좋은자료 감사합니다.

by 굿모닝베트남 [2008.06.30 15:27:10]
여기서 많이 공부합니다. 정말 사이트 잘 운영해 주셔서 항상 감사드립니다. 좋은 정보 잘 이용할께요...

by 윤노인 [2011.06.15 11:37:01]
좋은 자료 감사합니다 ~~

by 병달이 [2012.02.24 16:08:48]
프로시저를 하나도 몰랐는데, 여기서 공부하니 정말 소스가 새로보이네요.
좋은강좌 감사합니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입