暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
达梦干货分享之DM7中生成随机数据的方法
3720
3页
34次
2020-04-06
免费下载
DM7 中生成随机数据的几种方法
在实际工作中,数据库开发人员和管理人员经常需要构建大量的随机数据用来测
试。如果手动一条一条的录入,会浪费大量的时间,本文将跟大家分享 DM7
创建随机测试数据的几种方法。
演示环境:
DM Database Server x64 V7.1.6.46-Build(2018.02.08-89107)ENT
1.构建测试用表
假设我们需要创建一个学生成绩统计表,表结构如下
2.检查系统包的状态
在产生随机数据的过程中需要调用 DBMS_RANDOM 系统包
如未创建,则可以执行如下命令:
SP_CREATE_SYSTEM_PACKAGES (1);
3.1 使用单条 SQL 语句构建测试数据
先上代码:
这里
几点需要注意的
①利用了 connect by 语句来生成测试记录,level<=10000 表示生 10000
②利用了 rownum 虚拟列来生成递增数据
③利用了 dbms_random 包中的 value 方法和 string 方法
Value 方法用来生成随机数值,为了模拟考试分数,采用了 0 100 间的整数
String 方法用来生成随机字符串,这里提供了 3 8 位的随机小写字符串来模拟
姓名
执行耗时 166 毫秒,生成的结果如下
3.2 使用存储过程来构建测试数据
这里利用了
DM PL/SQL
中的循环来实现了类似的产生随机数据的操作,传入参
num
来控制执行的遍数,执行的时候只用调用本过程即可。
call PROC(10000);
可以得到跟刚才类似的数据。
4.
一些补充
刚才的例子中,我们简单的举了几个
Random
包的应用方法。在实际工作中,我
们可能对随机数据有更多的要求。例如:
要生成随机的手机号,可以用
to_char(10000000000+floor(dbms_random.value(3111111111,3999999
999)))
随机产生
13
开头的
11
位数字。
又比如果想得到随机的邮箱字符串,可以写成。
dbms_random.string('L',8)||'@'||dbms_random.string('L',5)||'.c
om'
类似的例子还有很多,因为篇幅原因就不继续往下举了。如果大家对这方面内容
感兴趣,可以参考《
DM
系统包使用手册》中
DBMS_RANDOM
的相关章节。
of 3
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。