ループとPL/SQLは必ずしも必要ではありません。このトリックが役立つかもしれません:
insert into emp(id, name, salary)
select rownum, 'Employee ' || to_char(rownum), dbms_random.value(2, 9) * 1000
from dual
connect by level <= 100;
従業員1から従業員100という名前の100のレコードが生成され、2000年から9000年の間のランダムな「ラウンド」給与が発生します。
2つの主な手法は次のとおりです。
-
connect by level <= n
の使用 デュアルのクエリでn行を生成します。 -
dbms_random
の使用 パッケージ;非常に便利な関数dbms_random.string
もあります これは、その名前が示すように、特定の文字を含む特定の長さのランダムな文字列を生成するために使用できます。