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.3 명시적 커서의 속성(Explicit Cursor Attributes) – 대나무숲

6.2.3 명시적 커서의 속성(Explicit Cursor Attributes)

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

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
    

답글 남기기 0

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