DBMS_RAMDOM包中一共包含9个存储过程和函数,其中6个是现在用的,3个是已经过时的:
当前版本11gR2
每次生成一个随机数oracle都会初始化一个种子,也可以调用seed过程自己初始化一个种子。
如果2次生成随机数的时候使用同一个种子,那么得到的结果也是一样的。即如果每次都初始化同一种子(大小写敏感),那结果每次生成都会相同
1.用整数初始化一个随机种子,procedure
dbms_random.seed(val IN BINARY_INTEGER);
2.用字符串初始化一个种子,procedure
dbms_random.seed(val IN VARCHAR2);
3.获取一个38位小数的[0,)之间的小数,包含0,不包含1,function
返回一个NUMBER
dbms_random.value
4.获取一个[low,high)之间的数,包含low,不包含high,function
返回一个NUMBER
dbms_random.value(low IN NUMBER, high IN NUMBER);
5.从正态分布得到一个随机数,function
返回一个NUMBER
dbms_random.normal
6.获取一个随机字符串,function
返回一个VARCHAR2
dbms_random.string (opt char, len NUMBER); --opt:表示返回值可能包含的东西 ----'u','U' : 任何大写字母 ----'l','L' : 任何小写字母 ----'a','A' : 大小写混合字母 ----'x','X' : 大写字母和数字混合 ----'p','P' : 任何可打印字符 ----其他参数 : 任何大写字母 --len:表示要返回的字符串长度
7.初始化放发,其实就是调用seed方法,procedure
过时的
dbms_random.initialize(val IN BINARY_INTEGER);
8.获取一个[-231,231)之间的整数,包含-231 ,不含231 ,function
过时的
dbms_random.random;
9.无用的方法
过时的
dbms_random.terminate;