본문 바로가기
Computer Science/백엔드

[MySQL] 반복문(LOOP)으로 Column 1, 2, ..., 100 생성

by pixel__ 2021. 7. 26.
DELIMITER $$
DROP PROCEDURE IF EXISTS loop_column $$
CREATE PROCEDURE loop_column(IN var INT)
BEGIN
    DECLARE n INT DEFAULT 0;
    loop_xxxx:LOOP
       IF (var <= n) THEN
          LEAVE loop_xxxx;
       END IF;
       SET n = n + 1;
       SET @s=CONCAT('ALTER TABLE dates ADD COLUMN `',n,'` VARCHAR(30)');
       PREPARE stmt1 FROM @s;
       EXECUTE stmt1;
       DEALLOCATE PREPARE stmt1;
    END LOOP;
END $$
DELIMITER ;

CALL loop_column(100);