Генерация тестовых данных с помощью разработчика Oracle PL/SQL
Я хочу протестировать некоторые схемы и индексы, и мне было интересно, есть ли в PL/SQL Developer функциональность, которая может генерировать тестовые данные (поэтому мне не придется создавать последовательности и циклы для вставки данных в таблицы).
1 ответ
Решение
Циклы и 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;
сгенерирует 100 записей с именами "Сотрудник 1 - Сотрудник 100" со случайной "округлой" зарплатой в период между 2000 и 9000.
Два основных метода:
- Использование
connect by level <= n
сгенерировать n строк в запросе на дуал. - Использование
dbms_random
пакет; есть также очень полезная функцияdbms_random.string
который может использоваться - как предполагает его название - для генерации случайных строк определенной длины, содержащих определенные символы.