프로그래밍/SQL

스토어드 프로그램을 이용한 구구단 만들기

goodmean 2022. 8. 9. 15:39
DROP TABLE IF EXISTS gugutbl;
CREATE TABLE gugutbl(gugu CHAR(5), result CHAR(4));

DROP PROCEDURE IF EXISTS gugudan;
delimiter $$
CREATE PROCEDURE gugudan()
BEGIN
	DECLARE i INT;
	DECLARE j INT;
	DECLARE str CHAR(5);
	SET i = 2; -- 몇단부터
	SET j = 1; -- 몇부터 곱할래
	WHILE (i <= 19) DO -- 몇단까지
		SET str = CONCAT(i, '단');
        INSERT INTO gugutbl VALUES(str, NULL);
		WHILE (j <= 19) DO -- 몇까지 곱할래
			SET str = CONCAT(i, 'x', j);
			INSERT INTO gugutbl VALUES(str,i*j);
			SET j = j + 1; -- 곱할 수를 1 증가시킨다
		END WHILE;
		SET i = i + 1; -- 단수를 1 증가시키고
        SET j = 1; -- 곱할 수는 1로 초기화한다.
        INSERT INTO gugutbl VALUES(' ', ' '); -- 한단이 끝나면 한칸 비움.
	END WHILE;
SELECT * FROM gugutbl;
END $$
delimiter ;

CALL gugudan();