23.05.09 데이터베이스

천용·2023년 5월 9일
0

데이터베이스

목록 보기
21/22

커서

  • 특정 SQL 문장을 처리한 결과를 담고있는 메모리 영역을 가리키는 일종의 포인터
  • 대부분의 SQL문 결과 ROW는 여러 개 인데 커서를 사용하면 이 ROW에 순차적으로 접근이 가능
  • 커서의 종류에는 묵시적 커서와 명시적 커서가 있음

묵시적 커서

  • 오라클 내부에서 자동으로 생성되어 SQL문장이 실행될때 마다 자동으로 만들어져 실행되는 커서

명시적 커서

  • 사용자가 직접 정의해서 사용하는 것

커서는 출력한 셀렉트문에서 한 행씩 가져와(fetch) 처리할 수 있도록 해준다.

DECLARE 
   v_prod VARCHAR2(30);
   v_qty  NUMBER(10,0);

   CURSOR UpRemain_cur IS
       SELECT buy_prod, SUM(buy_qty)  FROM buyprod
       WHERE  EXTRACT(YEAR FROM  buy_date) = 2020
       GROUP BY buy_prod ORDER BY buy_prod ASC;
BEGIN  
  OPEN UpRemain_cur;
  FETCH UpRemain_cur INTO v_prod, v_qty;
  WHILE (UpRemain_cur%FOUND)  LOOP
       DBMS_OUTPUT.PUT_LINE( UpRemain_cur%ROWCOUNT || '번째 상품=' 
                                                         || v_prod || ' 입고수량=' || v_qty ||  '입니다.');
        FETCH UpRemain_cur INTO v_prod, v_qty;
  END LOOP;
  CLOSE UpRemain_cur;
END;
profile
성장하는 개발자가 되자

0개의 댓글