Les boucles et PL/SQL ne sont pas toujours nécessaires; cette astuce pourrait être utile :
insert into emp(id, name, salary)
select rownum, 'Employee ' || to_char(rownum), dbms_random.value(2, 9) * 1000
from dual
connect by level <= 100;
générera 100 enregistrements, nommés Employé 1 à Employé 100 avec des salaires "ronds" aléatoires entre 2 000 et 9 000.
Les deux techniques principales sont :
- Utilisation de
connect by level <= n
pour générer n lignes dans une requête sur dual. - Utilisation de
dbms_random
emballer; il y a aussi une fonction très utiledbms_random.string
qui peut être utilisé -- comme son nom l'indique -- pour générer des chaînes aléatoires d'une certaine longueur contenant certains caractères.