PL/SQLで大量データを作成する

性能試験なので、とにかく大量データを作成したいという場面があると思います。Oracleを使用している環境であればPL/SQLで簡単に大量データを作ることができますので紹介したいと思います。

 

TABLE_Aのカラム

----

NAME 

ID

----

 

PL/SQL

----

DECLARE max NUMBER := 1000;

BEGIN

 FOR i IN 1..max LOOP

  INSERT INTO TEBLE_A (NAME, ID) VALUES ('KENTO' || i ,ID || LPAD(i,'4','0'));

 END LOOP;

 COMMIT;

END;

 ----

 

このPL/SQLを実行すると

 

SELECT * FROM TALBE_A;

----

NAME           ID

---------           --------------------

KENTO1       0001

KENTO2       0002

KENTO1000 1000

----

 

こんなデータが作成できます。

PL/SQLの「max」がループの最大回数で例の場合だと、

1000回ループが回って1000行のデータが作成されます。


「LPAD」の第2引数に4、第3引数に0を指定することで、
「i」が4桁になるまで左側に0埋めするということを実現しています。


この簡単なPL/SQLを応用することによって、簡単になる作業があると思います。