본문 바로가기
DBMS

커서

by asd135 2024. 6. 6.
728x90

커서

select문 실행 결과를 한 행씩 처리하기 위하여 사용

 

 

커서 선언

DECLARE InterestCursor CURSOR FOR
	SELECT sale_price FROM orders;

 

실행할 SELECT 문을 지정

 

 

커서 열기

OPEN InterestCursor;

 

 

데이터 가져오기

DECLARE price INT;
FETCH InterestCursor INTO price;

 

FETCH 문을 실행할 때마다 커서에 있는 데이터를 1행씩 가져오고 변수에 넣는다

 

 

루프문을 사용하여 커서 데이터를 순회

DECLARE CONTINUE handler FOR NOT FOUND 
	SET endOfRow = TRUE;
...
cursor_loop: LOOP
	FETCH InterestCursor INTO price;
    IF endOfRow THEN LEAVE cursor_loop;
    END IF;
    
    IF price >= 30000 THEN 
		SET myInterest = myInterest + price * 0.1;
	else
		SET myInterest = myInterest + price * 0.05;
    END IF;
END LOOP cursor_loop;

 

LOOP문을 사용해 데이터를 순회하고 커서의 끝에 도달하면 endOfRow 변수가 TRUE가 되기 때문에 LOOP문을 탈출한다.

 

 

커서 닫기

CLOSE InterestCursor;

 

'DBMS' 카테고리의 다른 글

외부 스키마, 개념 스키마, 내부 스키마 간단 정리  (0) 2024.06.07
뷰(View)  (0) 2024.06.05
사용자 정의 함수  (0) 2024.04.30
트랜잭션(transaction)  (0) 2024.04.23
Primary Key, Foreign Key, Unique Key, Index Key 등  (0) 2024.04.17