1 取随机数

Oralce把所有有关随机数的操作都封装在了PL/SQLDBMS_RANDOM里,极大地方便了我们的使用。它具有以下函数

【Oracle学习笔记】Oralce随机数与随机取样 

其中,initialize,random,terminate函数在Oracle11g中已不推荐使用,主要用于向后兼容。下面对各个函数进行举例说明

1.1 INITIALIZE

用一个种子值来初始化DBMS_RANDOM包。

默认情况下,DBMS_RANDOM包是根据用户、时间、会话来进行初始化,这样,即便是同一个语句,每次生成的数值都会不一样,但这样会产生一个问题,在测试环境下,如果我想每次生成的随机序列都是一样的,该怎么办?INITIALIZE过程就很好的解决了这一问题,通过设置相同的种子值,则每次生成的随机序列都将是一样的。

语法:

DBMS_RANDOM.INITIALIZE (val IN BINARY_INTEGER);

举例:

BEGIN
  DBMS_RANDOM.INITIALIZE(100);
  FOR I IN 1 .. 10 LOOP
    DBMS_OUTPUT.PUT_LINE(DBMS_RANDOM.RANDOM);
  END LOOP;
END;
View Code

相关文章: