[DB][Mysql][0.0.4]Cursor

yun0510·2023년 12월 4일

DB

목록 보기
5/16

1.Cursor란

데이터베이스의 레코드를 따라 순회할 수 있는 매카니즘
복수행이 조회되는 쿼리들을 반복적으로 특정처리(수행시) 사용

  • Java, JavaScript : .forEach() / C언어 포인터와 유사한 기능

2.사용 순서

1) 커서 선언(Declare)
2) 커서 오픈(Open)- 커서를 사용하기전에 열어줌
3) 데이터 행 가져오기(Fetch) -커서가 다음 row로 이동하게함
4) 커서 클로즈(Close)

3.예시

1)
DECLARE a_cursor CURSOR FOR
SELECT SQ_MEMBER FROM MEBMER_INFO WHERE AGE LIKE '1%';

  -- 커서가 마지막행에 도착할 때의 상태값 설정 : 루프를 종료하기 위해  
 1-1)  DECLARE CONTINUE HANDLER FOR NOT FOUND SET F_END = TRUE;

2) 
OPEN a_cursor;
  -- 루프(while) 동작
 2-1) cur_loop: LOOP
 
3)
FETCH a_cursor INTO VAR_SEQ(변수);
	-- 커서가 마지막 로우면 Loop를 종료.  
	3-1) SET v_row_cnt = v_row_cnt +1 ;  
    IF F_END THEN  
    LEAVE cur_loop; 
    END IF; 
    
   3-2) 동작 쿼리작성
    ~~~
    ~~~
    
   3-3) END LOOP; 
   SELECT v_row_cnt ; 
   
4)
CLOSE a_cursor;

출처: https://kdg-is.tistory.com/240 [realizers:티스토리]

0개의 댓글