<1>
DROP PROCEDURE IF EXISTS whileProc;
DELIMITER $$
CREATE PROCEDURE whileProc()
BEGIN
DECLARE i INT;
DECLARE hap INT;
SET i = 1; i는 1부터 시작
SET hap = 0; hap은 0부터 시작
WHILE (i <= 100) DO i가 100보다 작거나 같으면, 그동안 계속 실행
SET hap = hap + i;
SET i = i + 1;
END WHILE;
SELECT '1부터 100까지의 합 ==>', hap;
END $$
DELIMITER ;
CALL whileProc();
<2>
DROP PROCEDURE IF EXISTS whileProc2;
DELIMITER $$
CREATE PROCEDURE whileProc2()
BEGIN
DECLARE i INT;
DECLARE hap INT;
SET i = 1;
SET hap = 0;
myWhile:
WHILE (i <= 100) DO
IF (i%4 = 0) THEN
SET i = i + 1;
ITERATE myWhile;
END IF;
(만약 i 나누기 4가 0이면, i 에 1을 더하고 myWhile 처음으로 돌아가서 다시 실행 ----> 4의 배수는 빼고 더하겠다. )
SET hap = hap+i;
IF (hap>1000) THEN
LEAVE myWhile;
END IF;
(만약 hap이 1000을 넘으면 myWhile 그만 실행하고 종료하겠다.)
SET i = i+1;
END WHILE;
SELECT '1부터 100까지의 합(4의 배수 제외), 1000 넘으면 종료 ==>', hap, i;
END $$
DELIMITER ;
CALL whileProc2();
'SQL' 카테고리의 다른 글
『혼자 공부하는 SQL』13강- 테이블 제약조건 기본키, 외래키 (0) | 2023.07.03 |
---|---|
『혼자 공부하는 SQL』11강- 동적 SQL 연습 (0) | 2023.06.26 |
동적 SQL (0) | 2023.06.26 |
『혼자 공부하는 SQL』11강- CASE문 연습 (0) | 2023.06.26 |
『혼자 공부하는 SQL』11강- IF문 연습 (0) | 2023.06.26 |