Главная страница
    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.035 c
1-41481
zapped
2003-10-28 15:29
2003.11.13
Service debugging


6-41860
саф
2003-09-09 09:09
2003.11.13
строку через сокет на определенный комп


3-40976
kostik78ua
2003-10-16 18:12
2003.11.13
rownum


1-41585
Anatolyk
2003-10-26 20:01
2003.11.13
Многострочный DBGrid?


1-41472
Star
2003-10-28 02:19
2003.11.13
TGraphic





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский