Loop dan PL/SQL tidak selalu diperlukan; trik ini mungkin bisa membantu:
insert into emp(id, name, salary)
select rownum, 'Employee ' || to_char(rownum), dbms_random.value(2, 9) * 1000
from dual
connect by level <= 100;
akan menghasilkan 100 catatan, bernama Karyawan 1 hingga Karyawan 100 dengan gaji "bulat" acak antara tahun 2000 dan 9000.
Dua teknik utama adalah:
- Penggunaan
connect by level <= n
untuk menghasilkan n baris dalam kueri pada dual. - Penggunaan
dbms_random
kemasan; ada juga fungsi yang sangat bergunadbms_random.string
yang dapat digunakan -- seperti namanya -- untuk menghasilkan string acak dengan panjang tertentu yang berisi karakter tertentu.