金仓数据库 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安装包一并升级。通常情况下用户无须单独升级插件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值