Oracle PL/SQL 大数据量数据生成器

本文介绍如何使用PL/SQL数据生成器批量创建数据库表中的测试数据,包括设置数据格式、使用常见函数以及生成和插入数据的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 本内容是临时本人自己操作出来总结,如有疑问或者不足,请指出,毕竟我也是新手,不可能没有错。


在开发测试中,可能对数据库表里需要增加多条数据,而传统insert语句批量可能达不到你想要的效果,于是就可以利用本文讲到的PL/SQL的数据生成器,位置如图。






表的位置选择你要生成大量数据的表名,而记录数10..20意思是随机生成10-20中间一个数的SQL量,比如我选择100..200,那就他就会生成一个X,X是大约100小于200的数,最后就会生成X条SQL。


输入相关的表后,就需要设置数据列的格式,根据你的表要求不同,设置的属性不同,比如时间,长度等等。


常用的格式有以下几种:

  • a: a..z (小写字符)
  • A: A..Z (大写字符)
  • @: A..Z 和 a..z (所有字符)
  • #: A..Z 和 a..z 和 0..9 (所有字符和数字)
  • *: #33..#126 (所有 ASCII 字符)
  • 0: 0..9 (所有数字)
  • 1: 1..9 (所有除了 0 之外的数字)
  • 9: 0..9 (所有数字)
比如我想插入一个例如9999这种四位数数学,千位不能为0的话,我就可以这样写[1999],他就会生成例如9999,1000等四位数。

比如[Aaa00] 生成字符串如: Gxe21Liy05 等。


关于常量是以['0']这种格式要求,比如我一个大小指定插入数据都为25的话,那么格式为['25'];

关于日期来说,是用随机函数Random,例如Random(2017/5/11 00:00:00,2017/5/11 23:59:59) ,同时需要去选项里面设置日期格式yyyy/MM/dd hh:mm:ss,如下图




例外还有一些常用函数,百度都能搜到,也可以灵活使用,比如 Signal(Min, Max, Delta, Noise) 返回技术测定数据(象温度这样的)。Min(最小)和 Max(最大)决定了范围, Delta(△)为最大更改量,还可以添加一些 Noise(噪声)。例如:Signal(-10, 20, 0.1, 0.1)。我用来Signal(0, 999, 1)从0到999每次增加1为ID赋值,但我觉得不是这样用的,但实测可以的。


还有

•Random([Min], Max) 返回Min(最小)和 Max(最大)之间的随机数。如果只指定了 Max ,那么 Min 就被设为 0 。对于日期字段,可以输入Min(最小)和 Max(最大)的日期。

•Sequence(Start, [Inc], [WithinParent]) 返回序号。Start 为开始值,Inc 为增量(默认为 1)。对于明细表,可以再指定WithinParent 关键词来指出序列应该为每个父记录进行重新安排。

•List('item'(weight), 'item'(weight), ...) 随机地返回指定项目(item)之一。加权数(weight)可以被添加到两个括号之间,允许特定项目比其他项目出现的几率更大。 例如:List('CLERK'(50), 'SALESMAN'(30), 'MANAGER'(10))

•List(select statement) 象前面的 List 函数,但项目是通过 SQL select statement(select 语句)返回的。

• Text([Style], MaxCharacters, [WordsPerLine, LinesPerParagraph]) 这个函数返回文本。可选择的 Style(字体)参数可以是LorumIpsum(默认)(怀疑是荷兰语。——译者姜华东注)、英语、德语或日语。它还可以是象 [aA] 这样的字符集,在这种情况下,词汇从指定的字符集中产生。 MaxCharacters 决定了生成的文本的最大大小,WordsPerLine 和 LinesPerParagraph 决定了行和段落的大小。指定的大小可以是指定的数字或范围(最小..最大)。


当你设置完后,就需要生成数据,如果不放心就能先测试。如图



红色框框就是测试,测试会以很直观的样子给你显示出来,然后你看看你设置的数据是否符合。剩下就是插数据,插数据有两种,第一种可以生成SQL,然后生成的SQL运行插入进去(上图红框下面的按钮)。第二种是直接运行生成(上图红色按钮下面的第二个按钮)

==============================程序员工具箱系列============================== 软件名称:SQL数据生成器 软件版本:2.0 软件作者:梅文海 作者邮件:TQuery@163.com 软件网站:software.jinluo.com.cn 下载地址:http://software.jinluo.com.cn/download/download.asp?id=230 软件容量:352K 软件语言:简体中文 授权形式:免费软件 应用平台:Win95/98/NT/2000 界面预览: 发布日期:2002-5-28 软件介绍: 功能: 自动生成数据库(Excel宏) 软件性质: 编程工具 授权方式: 自由软件 创意开始: 2000下半年 制作日期: 2000-2002 创作意图: 创建数据库很头痛 运行平台: Windows9.X,Windows2000 创作工具: Excel 2000 历史记录: 2000: 1.0版,第一个版本,主要用于生成Access数据库;;;;;;;; 2001: 1.1版 1.改进了一些特性和修复BUG;;;;;;;; 2.增加生成SQL数据库功能;;;;;;;; 3.增加“仅生成当前工作表中的数据”功能;;;;;;;; 2002/5/27: 2.0版 1.增加说明; 2.改进了界面;;;;;;;; 使用方法: 启动:双击“SQL数据生成器”文件,选择“启动宏”;;;;;;;; 生成数据:单击“开始”按钮;;;;;;;; 说明: 1.程序默认范围为当前工作簿;;;;;;;; 2.文档的格式:一定要用程序所附带的“格式”样本 a.前面需要空一列(A列);;;;;;;; b.每一个数据表后面的括号一定是半角;;;;;;;; c.类型:所用数据库的实际类型;;;;;;;; d.长度:实际长度(如不需要长度可忽略);;;;;;;; e.关键字:如果是关键子,设置一个标记即可(如“*”);;;;;;;; f.必要字段:同“关键字”;;;;;;;; 3.在数据库中使用中文作为字段:选择“中文字段”;;;;;;;; 4.生成当前工作表中的数据:选择“仅生成当前工作表中的数据”;;;;;;;; 5.直接生成ACCESS数据库:在“地址栏”输入(或选择)要生成数据库名;;;;;;;; 6.生成后的数组用于Delphi,如需要该转换代码可来信索取;;;;;;;; 注意:在选择ACCESS数据库时,如果选择了一个已经存在的数据库文件,则程序会先删除该数据库文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值