본문 바로가기
DB/MySql

[MySql] Procedure로 loop insert

by 코리늬 2019. 3. 21.

DB에서 대량의 대상들에 대해 테스트를 해보기 위해 임시의 데이터를 넣어야한다.

그런데 어떻게 그 많은 데이터들을 다 넣을까?

프로시저를 사용해서 데이터를 insert 해준다.

delimiter $$
DROP PROCEDURE IF EXISTS dataBulkInsert$$
create procedure dataBulkInsert() //함수 생성
begin //시작    
declare i int default 1; //i값 생성        
while(i<10000) DO #while문         
insert into teacher (name) value (concat('name',i));       
set i=i+1;        
end while; //while문 끝         
end $$ 

##############################################################
call dataInsert(); //함수 호출 

혹은

create procedure dataInsert
IS 
i number := 1; 
begin
loop

Insert into data (SEQ,USER_ID,USER_KEY) values (USER_SEQ.nextval,'id', concat('1234',i));
       i:=i+1;
       exit when i > 100;
end loop;

end;

call dataInsert();

'DB > MySql' 카테고리의 다른 글

[MySql] 쿼리 캐시  (0) 2019.06.27
[MySql] 쿼리 실행 구조  (0) 2019.06.22
[MySql] 실행계획  (0) 2019.05.04

댓글