紧急求助8.2升级至9.1,rand()函数无法使用了

全粘架构师 2014-06-23 02:43:40
原来有一句procdure里的语句,大意是:

select * from (select row_number() over(order by rand()) rn, id, name from org) x where rn<=10

从目标表中随机取前N条记录,用到了rand()

在DB2 8.2里一切正常,升级到9.1后,这句话报错了
[IBM][CLI Driver][DB2/NT] SQL0583N  使用例程 "RAND" 是无效的,因为它是不确定的或具有外部操作。  SQLSTATE=42845


不知道是如何解决,但是我试验了一下
select * from org order by rand()

这个语句在9.1是可以用的,谁能解决这个问题呢?求助各位帮忙
...全文
423 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧