[MY-SQL] 커서(Cursor) 사용 예제

DECLARE m_필드값1 VARCHAR(32);
DECLARE m_필드값2 VARCHAR(32);

DECLARE m_Done INT DEFAULT 0;
 
/* 여기에 커서를 정의 합니다. */
DECLARE m_Cursor CURSOR FOR
SELECT 필드1, 필드2
FROM 테이블명
WHERE 필드1 = 변수1 AND 필드2 = 변수2;
  
/* 데이터가 없으면 m_Done에 1 */
DECLARE CONTINUE HANDLER FOR NOT FOUND SET m_Done=1;
OPEN m_Cursor;

/* 반복합니다. */ 
REPEAT
 /* 반환된 필드값을 변수에 담습니다. */
FETCH NEXT FROM m_Cursor INTO m_필드값1, m_필드값2;
   
IF NOT m_Done THEN
  
   /* 수행할 쿼리리 여기에 작성합니다. */   
   INSERT INTO 테이블2( 필드명1, 필드명2 ) VALUES( m_필드값1, m_필드값2 );
   
END IF;
 
/* m_Done이 1이 될때까지 반복 합니다. */
UNTIL m_Done END REPEAT;

CLOSE m_Cursor;