![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
RANDOM в ORACLE [Oracle]
bas1 © (2002-04-16 10:36:00)Есть-ли что-нибудь похожее в Oracle, или как взять случайное число в хрон. проц.
bas1 (2002-04-16 16:36:00) [1]>>passm
я уже сделал подругому
просто думал может есть что-то стандартное - зачем гордить огород, когда надо только цветок посадить
Да и не хотелось что-бы ф-ия работала долго
passm (2002-04-16 15:26:00) [2]С Oracle не работал, но если там чего-то не хватает, то почему бы не написать UDF? Здесь будет все в твоих руках.
bas1 (2002-04-16 14:25:00) [3]спасибо - буду думать
Johnny Smith (2002-04-16 14:24:00) [4]Я проконсультировался с нашим специалистом. Всплыло вот что: при инициализации ПЕРВЫЙ результат функции действительно постоянен при постоянном параметре в INITIALIZE. Зато потом идут нормальные :-) случайные числа. НО! До того момента, когда ты скажешь DBMS_RANDOM.terminate.
Johnny Smith (2002-04-16 14:08:00) [5]Можно брать от результата функции какой-либо разряд (например, последнюю цифру) или хешировать этот результат
bas1 (2002-04-16 13:56:00) [6]а как быть если мене надо, например, случайное число в диапазоне от 0 до 10
Johnny Smith (2002-04-16 12:53:00) [7]Я тут поподробнее поюзал это дело, и мне кажется, что здесь другое: initialize просто инициализирует работу пакета. Введенное число (размерностью не менее 5 знаков) просто -напросто является основой для того результата, который генерит функция DBMS_RANDOM.random.
bas1 (2002-04-16 11:57:00) [8]>>Johnny Smith
Я что-то не совсем понял - DBMS_RANDOM.random выводит одно и то же число и причем непонятно какое - я думал, что DBMS_RANDOM.initialize(хх) ставит предел выводимому значению, а он не понятно что ставит.
bas1 (2002-04-16 11:22:00) [9]Огроменное спасибо
Johnny Smith (2002-04-16 11:14:00) [10]Вот и примерчик:
declare
x binary_integer;
begin
DBMS_RANDOM.initialize(234322);
x:=DBMS_RANDOM.random;
DBMS_RANDOM.terminate;
dbms_output.put_line(to_char(x));
end;
/
Johnny Smith (2002-04-16 11:03:00) [11]Есть такой пакет в Оракле - DBMS_RANDOM.
Описание - в файле %ORA_HOME%rdbms80\admin\dbmsrand.sql
Val (2002-04-16 10:41:00) [12]как вариант: передать как параметр из приложения