DB
[Mysql] procedure 만들기
bbuljj
2014. 8. 6. 09:02
1. Mysql 에서 procedure 만들기
- dummy data를 생성해야 할 경우 아래와 같이 프로시져를 만들어서 실행하면 쉽게 dummy data를 만들 수있다.
DELIMITER $$
DROP PROCEDURE IF EXISTS DUM_DATA$$
CREATE PROCEDURE DUM_DATA()
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE log_date VARCHAR(255);
WHILE i <= 20 DO
SET log_date = DATE_ADD( DATE_ADD( DATE_ADD( DATE_ADD( DATE_ADD( DATE_ADD(
NOW(),
INTERVAL (-24*RAND())-1 YEAR),
INTERVAL 11*RAND() MONTH),
INTERVAL 30*RAND() DAY),
INTERVAL 23*RAND() HOUR),
INTERVAL 59*RAND() MINUTE),
INTERVAL 60*RAND() SECOND);
DROP PROCEDURE IF EXISTS DUM_DATA$$
CREATE PROCEDURE DUM_DATA()
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE log_date VARCHAR(255);
WHILE i <= 20 DO
SET log_date = DATE_ADD( DATE_ADD( DATE_ADD( DATE_ADD( DATE_ADD( DATE_ADD(
NOW(),
INTERVAL (-24*RAND())-1 YEAR),
INTERVAL 11*RAND() MONTH),
INTERVAL 30*RAND() DAY),
INTERVAL 23*RAND() HOUR),
INTERVAL 59*RAND() MINUTE),
INTERVAL 60*RAND() SECOND);
-- date를 만들 때 임의에 날짜를 생성함
INSERT INTO bbs (uid, unm, title, content, regdate, readCnt, cat) VALUES ('admin', '관리자', concat('공지',i), concat('내용',i) ,log_date, 0, 'c1');
SET i = i + 1;
END WHILE;
END$$
DELIMITER $$
CALL DUM_DATA;
INSERT INTO bbs (uid, unm, title, content, regdate, readCnt, cat) VALUES ('admin', '관리자', concat('공지',i), concat('내용',i) ,log_date, 0, 'c1');
SET i = i + 1;
END WHILE;
END$$
DELIMITER $$
CALL DUM_DATA;