当前位置:  开发笔记 > 后端 > 正文

在mysql的存储函数中的SELECT语句中使用变量作为OFFSET

如何解决《在mysql的存储函数中的SELECT语句中使用变量作为OFFSET》经验,为你挑选了0个好方法。

我对于为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在创建类似于body的函数时抛出错误.但是,当我使用硬编码的数字作为OFFSET时,它工作得很好.

有人可以就这个话题说清楚.

我在Windows机器上运行MySQL 5.0.45.

谢谢

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有