Loops og PL/SQL er ikke altid nødvendige; dette trick kan være nyttigt:
insert into emp(id, name, salary)
select rownum, 'Employee ' || to_char(rownum), dbms_random.value(2, 9) * 1000
from dual
connect by level <= 100;
vil generere 100 poster, navngivet medarbejder 1 til medarbejder 100 med tilfældige "runde" lønninger mellem 2000 og 9000.
De to hovedteknikker er:
- Brug af
connect by level <= n
at generere n rækker i en forespørgsel på dual. - Brug af
dbms_random
pakke; der er også en meget nyttig funktiondbms_random.string
som kan bruges - som navnet antyder - til at generere tilfældige strenge af en vis længde, der indeholder bestemte tegn.