Skip to content

[Mysql] PROCEDURE를 이용한 loop insert

2012/11/08

개발하다 보면 테스트를 위해 더미 데이터를 insert 해야 하는 경우가 자주 생긴다

그때 많은 데이터를 넣어야 하는 경우 다음과 같이 sql을 작성하면 편하다.

참고로 AES_ENCRYPT 는 암호화 function이고 CONCAT은 string 연결 function이다.

 

DELIMITER $$

CREATE PROCEDURE myFunction()
BEGIN

    DECLARE i INT DEFAULT 1;

    WHILE (i < 500000) DO
        INSERT INTO `test table` (num, name, email)
        VALUE (i, CONCAT(‘test’, i), HEX(AES_ENCRYPT(CONCAT(‘test’, i, ‘@test.com’), ‘key’)));
        SET i = i + 1;
    END WHILE;
END$$

DELIMITER ;
CALL myFunction();

 

위에 처럼 PROCEDURE를 만들고 

while문을 이용해서 반복해주면 됨다.

No comments yet

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중

%d 블로거가 이것을 좋아합니다: