른록노트
[Mysql] mysql 반복문, for문, loop 사용법 본문
@ 설명
## LOOP 문
DELIMITER $$ -- 프로시저 생성 시작을 알림
DROP PROCEDURE IF EXISTS loop_test $$ -- 프로시저가 만들어져 있다면 삭제하고 다시 만듬
CREATE PROCEDURE loop_test(IN var INT) -- 파라미터 설정, IN/OUt, 변수이름 var, 타입 INT
BEGIN
DECLARE nCnt INT DEFAULT 0; -- 변수선언
DECLARE nTot INT DEFAULT 0;
loop_xxxx:LOOP -- LOOP 선언, 루프이름 주어짐
IF (var <= nCnt) THEN -- IF 문 사용
LEAVE loop_xxxx; -- loop 탈출 조건 (탈출 조건을 사용하기 위해서는 루프의 이름이 지정되어야 함.)
END IF;
SET nCnt = nCnt + 1; -- 변수 변경
SET nTot = nTot + nCnt;
END LOOP;
SELECT CONCAT(CONCAT(CONCAT('1 부터 ', var), ' 까지의 합은 '), nTot) AS total; -- 결과 값 출력
END $$
DELIMITER ;-- 프로시저 생성 종료를 알림
#########################
Call loo_test(10); -- 프로시저 실행
참고)
-. CONCAT 함수
인자들 str 를 연결시켜 하나의 결과물로 결합 반환하고, 인자 중에 하나 이상의 NULL 값을 가지면 NULL를 반환합니다.
-. IF 사용법
IF condition1 THEN
{...statements to execute when condition1 is TRUE...}
[ ELSEIF condition2 THEN
{...statements to execute when condition2 is TRUE...} ]
[ ELSE
{...statements to execute when both condition1 and condition2 are FALSE...} ]
END IF;
참고사이트