• 金仓数据库 KingbaseES 插件参考手册(20. dbms_random)


    20. dbms_random

    20.1. 插件dbms_random简介

    dbms_random是KingbaseES的一个扩展插件,主要提供一组函数产生随机数或者随机字符。

    插件需要手动创建,在服务端程序启动时没有默认加载。

    • 插件名为 dbms_random

    • 插件版本 V1.0

    20.2. 插件dbms_random加载方式

    启动KingbaseES数据库后执行SQL命令创建插件。

    示例

    create extension dbms_random;
    

    20.3. 插件dbms_random的参数配置

    无需配置任何参数

    20.4. 插件dbms_random的使用方法

    创建插件后提供一组函数来产生随机数或随机字符。

    下表列出了dbms_random系统包并简要的表述了它们。

    表 20.4.1 dbms_random软件包子程序和函数

    子程序/函数

    描述

    INITIALIZE Procedure

    使用一个种子值来初始化包

    NORMAL Function

    产生标准的正态分布函数

    RANDOM Function

    产生一个随机整数

    SEED Procedure

    重置随机数种子

    STRING Function

    产生一个随机字符串

    TERMINATE Procedure

    提供语法上的兼容不执行任何操作

    VALUE Function

    产生指定范围的随机数

    20.4.1. INITIALIZE Procedure

    使用一个种子值来初始化dbms_random包,默认情况下,dbms_random包是根据用户、时间、会话来初始化。Initialize这个函数已经过时,虽然目前受到支持,但考虑历史遗留原因和兼容性保留此初始化方式。

    语法格式

    dbms_random.initialize(init INTEGER);
    

    参数说明

    表 20.4.2 initialize 参数

    参数

    描述

    init

    随机数种子值

    返回值说明

    VOID

    示例

    CALL dbms_random.initialize(8);
    

    20.4.2. NORMAL Function

    产生标准的正态分布函数,此正态分布的标准差为1,期望值为0。

    语法格式

    dbms_random.normal();
    

    参数说明

    无参

    返回值说明

    DOUBLE

    示例

    SELECT dbms_random.normal();
    

    20.4.3. RANDOM Function

    产生一个随机整数,这个函数已经过时了,虽然目前还支持,但不应该使用它,考虑兼容性保留此函数。

    语法格式

    dbms_random.random();
    

    参数说明

    无参

    返回值说明

    INTEGER

    示例

    CALL dbms_random.random();
    

    20.4.4. SEED Procedure

    重置种子,类似于initialize函数,initialize函数已经被淘汰。 seed函数同时支持数值和字符作为种子值,而initialize只支持数值。

    语法格式

    dbms_random.seed(i INTEGER);
    dbms_random.seed(t TEXT);
    

    参数说明

    表 20.4.3 seed 参数

    参数

    描述

    i

    随机数种子值

    t

    随机数字符种子值

    返回值说明

    表 20.4.4 seed 返回值

    函数

    类型

    seed(i INTEGER)

    VOID

    seed(t TEXT)

    VOID

    示例

    CALL dbms_random.seed(8);
    CALL dbms_random.seed('test');
    

    20.4.5. STRING Function

    获取一个随机字符串,第一个参数是字符串的格式,第二个参数是指字符串的长度。 长度最大为5000,参数如果超过5000会自动以5000处理。

    语法格式

    dbms_random.string(type TEXT,len INTEGER);
    

    参数说明

    表 20.4.5 string 参数

    参数

    描述

    type

    产生字符串的类型

    len

    产生字符串的长度

    表 20.4.6 type参数对应含义

    描述

    'u','U'

    返回大写字母的字符串

    'l','L'

    返回小写字母的字符串

    'a','A'

    返回大小写字母混合的字符串

    'x','X'

    返回大写字母和数字的字符串

    'p','P'

    返回任何可打印字符的字符串

    返回值说明

    TEXT

    示例

    SELECT dbms_random.string('U',5);
    SELECT dbms_random.string('P',2);
    SELECT dbms_random.string('x',4);
    SELECT dbms_random.string('a',2);
    SELECT dbms_random.string('l',3);
    

    20.4.6. TERMINATE Procedure

    原功能为使用完dbms_random包的时候执行此函数,但是现在此函数不执行任何功能,为了语法兼容保留。

    语法格式

    dbms_random.terminate();
    

    参数说明

    无参

    返回值说明

    VOID

    示例

    CALL dbms_random.terminate();
    

    20.4.7. VALUE Function

    第一种无参的使用方式是获取一个大于或者等于0且小于1的随机数,精度为16位的小数。

    第二种使用方式可以指定最小值和最大值,返回值的范围大于或者等于low,小于high,精度同为16位小数。

    语法格式

    dbms_random.value();
    dbms_random.value(low INTEGER,high INTEGER);
    

    参数说明

    表 20.4.7 value 参数

    参数

    描述

    low

    产生的随机数最小值

    high

    产生的随机数最大值

    返回值说明

    表 20.4.8 value 返回值

    函数

    类型

    value()

    VOID

    value(low INTEGER,high INTEGER)

    VOID

    示例

    SELECT dbms_random.value();
    SELECT dbms_random.value(10,15);
    

    20.5. 插件dbms_random卸载方法

    在数据库中执行SQL命令卸载插件。

    drop extension dbms_random;
    

    20.6. 插件dbms_random升级方法

    dbms_random扩展插件通常随着KingbaseES安装包一并升级。通常情况下用户无须单独升级插件。

  • 相关阅读:
    A-Level经济真题每期一练(18)
    【软考 系统架构设计师】系统安全分析与设计① 安全基础技术
    北斗导航 | RTKLIB 2.4.3 在VS2015下的编译
    C++ Reference: Standard C++ Library reference: C Library: cstdio: ungetc
    类的加载顺序
    力扣每日一题 网络信号最好的坐标
    Linux网络-UDP/TCP协议详解
    【Netty】一、高性能NIO通信框架Netty-快速入门
    cmd找不到conda
    vue 的报告页面,生成pdf,使用html2canvas , 下载pdf格式文件。多页分页下载
  • 原文地址:https://blog.csdn.net/arthemis_14/article/details/126528177