저장 프로시저 내에서 Cursor를 사용해야할 때가 가끔 있다...

예>

BEGIN
DECLARE x_done int DEFAULT 0;
DECLARE x_num  int;
DECLARE x_name   varchar(20);
DECLARE cur_TestCursor CURSOR FOR
       SELECT  num, name   FROM MemberInfo;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET x_done = 1;   /* 데이터가 없으면 x_done=1 */
OPEN cur_TestCursor;

   REPEAT
      FETCH NEXT FROM cur_TestCursor INTO x_num, x_name;      /* 변수에 값을 담는다 */

        IF NOT x_done THEN

/* 여기서 수행할 쿼리를 해준다 */

        END IF;

   UNTIL x_done END REPEAT;         /* x_done이 1이 될때까지 반복된다 */
 CLOSE  cur_TestCursor;
END;

반응형

+ Recent posts