语法:

DBMS_RANDOM.SEED (
val IN BINARY_INTEGER); DBMS_RANDOM.SEED (
val IN VARCHAR2);

  

val:

Seed number or string used to generate a random number

 

用于生成一个随机数种子,设置种子的目的是可以重复生成随机数,用于调试。否则每次不同,难以调度。

如果不指定随机数参数的种子,oracle将会使用当前时间,用户id,进程id号来生成种子。如果指定的种子相同将会生成相同的随机数(随机数是种子通过复杂的运算得到的,并不是真正的随机)。

--可以设置seed来确定随机数的起始点,对于相同的seed而言,随机数的任意一次变化都将是确定的。
– 就是说,如果在某一时刻调用了seed,之后第一次产生的随机数是4,第二次是6,第三次是1,
– 那么当你再次调用相同的seed之后,一次产生的随机数还是4、6、1
– seed有两种

会话1:

SQL> select userenv('sessionid') from dual;

USERENV('SESSIONID')
--------------------
4294967295 SQL> begin
2 dbms_random.seed(100);
3 end;
4 / PL/SQL procedure successfully completed. SQL> select dbms_random.value from dual connect by level < 10; VALUE
----------
.5380177
.674995365
.653622701
.76351985
.298598349
.40522032
.995516369
.395655808
.180747605 9 rows selected. SQL>

  

会话2:

SQL> select userenv('sessionid') from dual;

USERENV('SESSIONID')
--------------------
4294967295 SQL> begin
2 dbms_random.seed(100);
3 end;
4 / PL/SQL procedure successfully completed. SQL> select dbms_random.value from dual connect by level < 10; VALUE
----------
.5380177
.674995365
.653622701
.76351985
.298598349
.40522032
.995516369
.395655808
.180747605 9 rows selected. SQL>

  

 

dbms_random.seed的更多相关文章

  1. Oracle之DBMS_RANDOM包详解

    DBMS_RANDOM是Oracle提供的一个PL/SQL包,用于生成随机数据和字符.它具有以下函数. 其中,initialize,random,terminate函数在Oracle11g中已不推荐使 ...

  2. oracle系统包——dbms_random用法及order by 小结(转)

    dbms_random是一个可以生成随机数值或者字符串的程序包. 这个包有initialize().seed().terminate().value().normal().random().strin ...

  3. Oracle DBMS_RANDOM

    DBMS_RANDOM.VALUE -- [0,1)的38位精度小数 SELECT DBMS_RANDOM.VALUE FROM DUAL; -- [10,20)的38位精度小数 SELECT DBM ...

  4. dbms_random 包的使用

    dbms_random是一个可以生成随机数值或者字符串的程序包. 这个包有 initialize(),seed(),terminate(),value(),normal(),random(),stri ...

  5. DBMS_RANDOM 用法

    oracle中用于生成随机数的包:DBMS_RANDOM,这个包里面包含了很多方法,以下列出几个常用的方法 1.DBMS_RANDOM.RANDOM方法: FUNCTION random RETURN ...

  6. Oracle dbms_random随机数包详解

    Oracle dbms_random包主要用于获得随机数,可以为数字也可以为字母等,还可以实现混拼.常用函数如下: dbms_random.value 生成一个指定范围的38位随机小数(小数点后38位 ...

  7. 十一、dbms_random(随机数生成器)

    1.概述 提供了内置的随机数生成器,可以用于快速生成随机数. 2.包的组成 1).initialize作用:用于初始化dbms_random包,必须提供随机数种子.语法:dbms_random.ini ...

  8. oracle使用DBMS_RANDOM包生成随机数据

    (一)DBMS_RANDOM包信息 DBMS_RANDOM包包含3个存储过程,4个函数,1个类型,一共8个模块,如下. SQL> desc dbms_random Element Type -- ...

  9. Oracle中dbms_random包详解

    Oracle之DBMS_RANDOM包详解参考自:https://www.cnblogs.com/ivictor/p/4476031.html https://www.cnblogs.com/shen ...

随机推荐

  1. Android 模仿QQ风格的 UI

    本文内容 环境 演示模仿QQ风格的界面 本文主要演示的是 UI,如何模仿 QQ 风格的界面.虽然这个 UI 跟现在的QQ空间有点差别,但是也能学到很多东西. 下载 Demo 环境 Windows 7 ...

  2. 1067: 密室寻宝(find)

    #include <iostream> #include <iomanip> #include <cstdlib> #include <string> ...

  3. QtWebkit包含的类简介

    前言 WebKit从Qt 4.4开始被作为一个Module被集成到Qt中.简单的说,Qt webkit就是Qt对Apple公司webkit的支持而开发的库,主要包括以下几个类: QWebDatabas ...

  4. 关于sendtoback()和bringtofront() 的理解

    如下的代码: button2.Dock = DockStyle.Top; button1.SendToBack(); button1.Dock = DockStyle.Top; button3.Doc ...

  5. GDB 反向调试(Reverse Debugging)

    这个挺有意思 http://blog.csdn.net/CherylNatsu/article/details/6436570 使用调试器时最常用的功能就是step, next, continue,这 ...

  6. ES6学习笔记四:Proxy与Reflect

    一:Proxy 代理. ES6把代理模式做成了一个类,直接传入被代理对象.代理函数,即可创建一个代理对象,然后我们使用代理对象进行方法调用,即可调用被包装过的方法: 1)创建 var proxy = ...

  7. “Info.plist” couldn’t be removed

    Showing All Messages error: failed to remove /Users/Rubert/Library/Developer/Xcode/DerivedData/Proje ...

  8. C# 将一个string数组转换为int数组

    int[] channelCIdArr = Array.ConvertAll(channelIdStr.Split(','),s=>int.Parse(s));

  9. HTML注释标签

      CreateTime--2016年11月4日08:46:25Author:Marydon参考链接--http://www.cnblogs.com/KeepMovingblog/archive/20 ...

  10. python之获取微信access_token

    # -*- coding: cp936 -*- #python 27 #xiaodeng #获取微信access_token #办法一:将该url直接填写到浏览器地址中可以获得access_token ...