Smyčky a PL/SQL nejsou vždy nutné; tento trik může být užitečný:
insert into emp(id, name, salary)
select rownum, 'Employee ' || to_char(rownum), dbms_random.value(2, 9) * 1000
from dual
connect by level <= 100;
vygeneruje 100 záznamů s názvem Zaměstnanec 1 až Zaměstnanec 100 s náhodnými „kulatými“ platy mezi 2000 a 9000.
Dvě hlavní techniky jsou:
- Použití
connect by level <= n
vygenerovat n řádků v dotazu na dual. - Použití
dbms_random
balík; existuje také velmi užitečná funkcedbms_random.string
který lze použít – jak jeho název napovídá – ke generování náhodných řetězců určité délky obsahujících určité znaky.