SELECT LEVEL AS ID, dbms_random.String('X', 10) AS NAME FROM dual CONNECT BY LEVEL < 10;
Выводим 9 строк, с двумя полями:
ID NAME
-- --
1 4txer6oa9h 2 sppv4klnh1 3 oz33rs9fsy 4 0dl8azesaq 5 gc33xxnm2g 6 4i5hmvm6uj 7 5oovp3o4oe 8 a10k5lwrqt 9 9eyxgm98f5Регулируя значения LEVEL, добиваемся необходимого количества строк. В данном случае, LEVEL так же выступает уникальным идентификатором записи, потому как имеет уникальное значения и может быть использован вместо sequece.
Количество полей, которое необходимо вставить, регулируем подстановкой вызовов необходимого метода DBMS_RANDOM. Наиболее полезные и востребованные методы пакета и примеры их использования:
SELECT dbms_random.value(), -- случайное число, больше или равно 0 и меньше чем 1 dbms_random.value(1,5), -- случайное число, в заданой границе dbms_random.normal(), -- случайное число, как пололожительное так и отрицательное dbms_random.random(), -- устаревшая функция, не рекомендуется использовать dbms_random.string('x',10), -- случайная строка, как с буквами так и с цифрами trunc(SYSDATE,'yyyy') + dbms_random.value(1,360) -- пример для генерации случайных дат FROM dual;
Подробное использования пакета DBMS_RANDOM описано на сайте oracle в соответствующем разделе http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_random.htm.
Комментариев нет:
Отправить комментарий