른록노트

[Mysql] mysql 반복문, for문, loop 사용법 본문

DB/[Mysql]

[Mysql] mysql 반복문, for문, loop 사용법

른록 2018. 10. 24. 10:17

@ 설명


## 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;


참고사이트

https://m.blog.naver.com/PostView.nhn?blogId=kilsu1024&logNo=110164304270&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

http://kindmaster.tistory.com/127

https://www.techonthenet.com/mysql/loops/if_then.php

반응형
Comments