Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.09;
Скачать: CL | DM;

Вниз

RANDOM в ORACLE   Найти похожие ветки 

 
bas1   (2002-04-16 10:36) [0]

Есть-ли что-нибудь похожее в Oracle, или как взять случайное число в хрон. проц.


 
Val ©   (2002-04-16 10:41) [1]

как вариант: передать как параметр из приложения


 
Johnny Smith ©   (2002-04-16 11:03) [2]

Есть такой пакет в Оракле - DBMS_RANDOM.
Описание - в файле %ORA_HOME%rdbms80\admin\dbmsrand.sql


 
Johnny Smith ©   (2002-04-16 11:14) [3]

Вот и примерчик:

declare
x binary_integer;
begin
DBMS_RANDOM.initialize(234322);
x:=DBMS_RANDOM.random;
DBMS_RANDOM.terminate;
dbms_output.put_line(to_char(x));
end;
/


 
bas1   (2002-04-16 11:22) [4]

Огроменное спасибо


 
bas1   (2002-04-16 11:57) [5]

>>Johnny Smith
Я что-то не совсем понял - DBMS_RANDOM.random выводит одно и то же число и причем непонятно какое - я думал, что DBMS_RANDOM.initialize(хх) ставит предел выводимому значению, а он не понятно что ставит.


 
Johnny Smith ©   (2002-04-16 12:53) [6]

Я тут поподробнее поюзал это дело, и мне кажется, что здесь другое: initialize просто инициализирует работу пакета. Введенное число (размерностью не менее 5 знаков) просто -напросто является основой для того результата, который генерит функция DBMS_RANDOM.random.



 
bas1   (2002-04-16 13:56) [7]

а как быть если мене надо, например, случайное число в диапазоне от 0 до 10


 
Johnny Smith ©   (2002-04-16 14:08) [8]

Можно брать от результата функции какой-либо разряд (например, последнюю цифру) или хешировать этот результат


 
Johnny Smith ©   (2002-04-16 14:24) [9]

Я проконсультировался с нашим специалистом. Всплыло вот что: при инициализации ПЕРВЫЙ результат функции действительно постоянен при постоянном параметре в INITIALIZE. Зато потом идут нормальные :-) случайные числа. НО! До того момента, когда ты скажешь DBMS_RANDOM.terminate.


 
bas1   (2002-04-16 14:25) [10]

спасибо - буду думать


 
passm   (2002-04-16 15:26) [11]

С Oracle не работал, но если там чего-то не хватает, то почему бы не написать UDF? Здесь будет все в твоих руках.


 
bas1   (2002-04-16 16:36) [12]

>>passm
я уже сделал подругому
просто думал может есть что-то стандартное - зачем гордить огород, когда надо только цветок посадить
Да и не хотелось что-бы ф-ия работала долго



Страницы: 1 вся ветка

Текущий архив: 2002.05.09;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
14-26222
Merlin
2002-03-30 15:44
2002.05.09
Чокопай и Эйфелева башня


3-26037
BillyJeans
2002-04-12 10:39
2002.05.09
Помогите с индексами....


1-26115
фл
2002-04-23 13:08
2002.05.09
как програмно изменить настройки BDE?


3-26045
Alex G
2002-04-15 03:02
2002.05.09
А можно посредством SQL ...


1-26086
Glonia Zbanov
2002-04-26 15:20
2002.05.09
Имена NT server