Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Вниз

Толку от UDF RAND() ?   Найти похожие ветки 

 
kaif   (2003-10-15 15:47) [0]

В библиотеке ib_udf.dll есть такая функция:

DECLARE EXTERNAL FUNCTION rand
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT "IB_UDF_rand" MODULE_NAME "ib_udf";

Попытка соорудить с ее помощью что-то вроде случайных цен в справочнике товаров:

update goods set price = rand()

назначает всем товарам случайную, но одинаковую цену.

Я хочу понять, как народ использует rand() и использует ли вообще?


 
kaif   (2003-10-15 15:53) [1]

Я даже попытался так:

create procedure update_goods_prices
as
declare variable id integer;
declare variable price decimal(8,2);
begin
for select id from goods
into :id
do
begin
price = 100 + 200 * rand();
update goods
set price = :price
where id = :id;
end
end

==================
execute procedure update_goods_prices
==================
Пофиг! все цены ОДИНАКОВЫЕ.

Что делать?


 
Vlad   (2003-10-15 15:56) [2]

Продавать товары по одинаковой цене.
Это лучше, чем по случайной :)


 
Johnmen   (2003-10-15 16:00) [3]

>kaif ©

Я не использую, но предполагаю, что надо перед вызовом rand сделать инициализацию генерации случ. чисел. Д.б.соответствующая ф-ия.
По кр. мере в RFUNC именно так.


 
kaif   (2003-10-15 16:21) [4]

Vlad © (15.10.03 15:56) [2]
:)

2 Johnmen © (15.10.03 16:00) [3]
Я тоже так поначалу думал, но что-то в документации по UDF не видно никакой функции, инициализирующей RAND. Все, что там написано к RAND это:

Returns a random number between 0 and 1. The current time is used to seed the random number generator.

Видимо под current time понимается время старта транзакции (больше мне в голову ничего не приходит).

А RFUNC это что?


 
Johnmen   (2003-10-15 16:36) [5]

>kaif ©

Это библиотека UDF"ов. Я ей пользуюсь...:)



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

Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.036 c
3-40957
gds
2003-10-16 17:12
2003.11.13
Что не так ?


6-41834
Novenkij
2003-09-13 12:53
2003.11.13
файл через Socket


8-41732
Avgurin
2003-07-18 09:19
2003.11.13
Размер JPEG


1-41486
Dunmer
2003-10-27 12:47
2003.11.13
Как проверить введен IP адресс или URl в едите?


7-42199
pst
2003-08-27 18:29
2003.11.13
AsyncPro for Delphi6





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский