프로시저 작성 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 |