Я совершенно новичок в области написания хранимых функций для базы данных mySQL, поэтому я не уверен, возможно ли вообще то, что я пытаюсь сделать здесь.
Мне нужна функция, которая будет возвращать столбец из случайной строки из таблицы. Я не хочу использовать для этого метод ORDER BY RAND (), скорее, я бы сделал это так:
DECLARE MAX_COUNT INT DEFAULT 120000;
DECLARE rand_offset INT;
DECLARE str_rnd_word VARCHAR(255);
SET rand_offset = FLOOR((RAND() * MAX_COUNT));
SELECT word INTO str_rnd_word FROM all_words LIMIT 1 OFFSET rand_offset ;
RETURN str_rnd_word;
MySQL выдает ошибку при создании функции с таким телом. Но когда я использую жестко запрограммированный номер как OFFSET, он работает просто отлично.
Может кто-нибудь пролить свет на эту тему, пожалуйста.
Я использую MySQL 5.0.45 для Windows.
Спасибо