码迷,mamicode.com
首页 > 数据库 > 详细

【转】oracle 中随机取一条记录的两种方法

时间:2016-08-04 14:58:35      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

oracle 中随机取一条记录的两种方法

 

V_COUNT INT:=0;

V_NUM INT :=0;

 

1:TBL_MYTABLE 表中要有一个值连续且唯一的列FID

 

BEGIN

   SELECT COUNT(*)

   INTO V_COUNT

   FROM  TBL_MYTABLE;

 

   SELECT TRUNC(DBMS_RADOM.VALUE(1,V_COUNT+1)) INTO V_NUM FROM DUAL;

 

   SELECT *

   FROM TBL_MYTABLE T

   WHERE T.FID=V_NUM;

 

EXCEPTION

   WHEN NO_DATA_FOUND THEN

    NULL;

END;

 

 

 

2:第二种方法很简便

BEGIN

   SELECT *

   FROM

   (

        SELECT *

        FROM TBL_MYTABLE T

        ORDER BY DBMS_RADOM.VALUE();

   )

   WHERE ROWNUM<2;

 

EXCEPTION

   WHEN NO_DATA_FOUND THEN

   NULL;

END;

 

参考:http://www.cnblogs.com/yjl49/archive/2009/12/11/2371977.html

 

【转】oracle 中随机取一条记录的两种方法

标签:

原文地址:http://www.cnblogs.com/autumnlj/p/5736299.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!