| 网站首页 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛 |
 
| 技术教程首页 | 开发语言 | WEB开发 | .NET技术 | 数据库 | 操作系统 | 网页制作 |
 
 
您现在的位置: 编程中国 >> 技术教程 >> 数据库 >> Oracle >> 正文
  ►  实例讲解Oracle里抽取随机数的多种方法
实例讲解Oracle里抽取随机数的多种方法
作者:未知    阅读人次:……    文章来源:天极论坛整理    发布时间:2007-8-15    网友评论()条
 

  在你的工作中是否会为了某个活动要随机取出一些符合条件的EMAIL或者手机号码用户,来颁发获奖通知或其它消息?本文以实例的方式来讲解如何抽取随机数的多种方法。

  如果是的话,可以用oracle里生成随机数的PL/SQL, 目录文件名在:/ORACLE_HOME/rdbms/admin/dbmsrand.sql。

  用之前先要在sys用户下编译:SQL>@/ORACLE_HOME/rdbms/admin/dbmsrand.sql。

  它实际是在sys用户下生成一个dbms_random程序包,同时生成公有同义词,并授权给所有数据库用户有执行的权限。

  使用dbms_random程序包, 取出随机数据的方法:

  1. 先创建一个唯一增长的序列号tmp_id:

以下是引用片段:
create sequence tmp_id increment by 1 start with 1 maxvalue 9999999 nocycle nocache;

  2. 然后创建一个临时表tmp_1,把符合本次活动条件的记录全部取出来:

以下是引用片段:
create table tmp_1 as select tmp_id.nextval as id, email,mobileno from 表名 where 条件;

  找到最大的id号:select max(id) from tmp_1;。

  3. 设定一个生成随机数的种子:

以下是引用片段:
execute dbms_random.seed(12345678); 或者 execute dbms_random.seed (TO_CHAR(SYSDATE,'MM-DD-YYYY HH24:MI:SS'));

 

[1] [2] 下一页

 

 
文章录入:编辑01    责任编辑:编辑01 
  • 上一篇文章:

  • 下一篇文章:

  •  
    相关文章
    原创地带
    24小时热门帖子