개념 창고/Database

(혼공MySQL)19.스토어드 함수와 커서의 개념, 커서(cursor)의 단계별 실습 방법

달마루 2023. 3. 20. 14:49

스토어드 함수를 사용자가 직접 만들어서 사용할 수 있다.

DELIMITER $$
CREATE FUNCTION 스토어드_함수_이름(매개변수)
        RETURNS 반환 형식
BEGIN
        이 부분에 SQL 프로그래밍 코드를 작성 
        RETURN 반환값;
END $$
DELIMITER; 

SELECT 스토어드_함수_이름(); 
스토어드 프로시저가 CALL로 호출하는 반면
스토어드 함수는 SELECT로 호출한다. 


커서는 테이블에서 한 행씩 처리하기 위한 방식이다. 

 

사용할 변수 준비 
DECLARE memNumber INT;
DECLARE cnt INT DEFAULT 0;
DECLARE totNumber INT DEFAULT 0;

DECLARE endOfRow BOOLEAN DEFAULT FALSE;

커서 선언
DECLARE memberCuror CURSOR FOR
          SELECT mem_number FROM member;

반복 조건 선언
DECLARE CONTINUE HANDLER
          FOR NOT FOUND SET endOfRow = TRUE;

커서 열기
OPEN memberCuror;

행 반복하기
cursor_loop: LOOP
 --이부분을 반복
END LOOP cusor_loop 

조건
IF endOfRow THEN
         LEAVE cursor_loop;
END IF;