Форум: "Базы";
Текущий архив: 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.039 c