본문 바로가기

MySQL

[MYSQL] 프로시저 작성( PROCEDURE )

프로시저 작성 Example


DROP PROCEDURE IF EXISTS test_procedure;     -- 존재하는 테이블이 있을경우 삭제
CREATE PROCEDURE `test_procedure`()          -- 생성할 프로시저 명
BEGIN
  DECLARE done INTEGER DEFAULT 0;            -- 반복문 사용 0 - Default 선언 
  DECLARE v_count INT DEFAULT 0;             -- 각행별 조회한 커서에서 사용할 변수 선언
  DECLARE v_id BIGINT(10);					 
  DECLARE v_name varchar(20);
   
  DECLARE cursor1 CURSOR FOR                 -- 시작 CURSOR
  
   select id,name from test_table           -- 조회할 커서 (각 row별 실행)(※ 순서 체크)
 
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;    -- 조회 행이 없을때 까지 실행
 
  OPEN cursor1;
 
    my_loop: LOOP
    
    FETCH cursor1 INTO v_id, v_name;     -- 조회한 커서 (※ 순서 체크)
        SET v_count = v_count +1 ;

			IF done THEN`
            LEAVE my_loop;
            END IF;
            
            INSERT INTO test_table (id, name) VALUES ( v_id, v_name);   -- 조회한 커서 행 데이터로 실행

    END LOOP;
  
  CLOSE cursor1; 						-- 커서 닫기
 
END;

( ※ 조회한 컬럼 순서와, 갯수, 순서체크 )

'MySQL' 카테고리의 다른 글

프로시저 상태값 확인  (0) 2021.01.06
[MYSQL] 프로시저 작성2( PROCEDURE )  (0) 2020.11.20
[MYSQL] 이벤트 스케줄러 사용방법(EVENT SCHEDULER)  (0) 2020.11.20
[MYSQL] 날짜 데이터 검색  (0) 2020.11.12
[MYSQL] 날짜 포멧  (0) 2020.11.11