挺有用的一个东西,而且也支持一些类似正则的语法来生成比较复杂的数据。

打开PL/SQL Developer
“工具”,最下方有个“数据生成器”

打开”数据生成器“后,会让你选择要在哪个表上创建数据:
先在“所有者”中选择用户,然后“表”选项中就会出现用户有权限的表
在“记录数“中填写要产生的数据数量

然后根据字段,填写产生随机数据的语法。
图中例子中给出的是产生英文名字的一个语法:
ID字段:[1(1..5)]
随机产生1个到5个1-9中的数字

NAME字段:[Aa(3..8)’ ‘Aa(3..8)’ ‘a(3..10)]
第一段随机产生一个A-Z中的大写字母,然后再随机产生3个到8个a-z中的小写字母
单引号’ ‘中间有个空格,表示用空格连接
第二段类似
第三段随机产生3个到10个a-z中的小写字母

填写完成后,点击左下角的“开始测试运行”按钮,来查看运行结果

如果确定没有问题,可以点击左下角第三个“在数据库里创建数据”按钮,会把数据插入数据库的表中。

完成。

详细的说明,PL/SQL Developer用户指南中也有介绍


这里为大家摘抄出来:

在上面,你可以看到被提供的 deptemp 演示,这个演示是为 deptdemo 和 empdemo 表创建数据,这类似于大家都知道的 dept 和 emp 表。在这一页中,你将发现下列项目:
– 表的名称。
记录数 – 你要生成的记录数。这可以是数字,也可以是象 10..100 这样的范围。
名称 – 字段名称。
类型 – 字段的数据类型。
大小 – 字段大小(在适当时)。对于数字字段,这将是数值范围、精度。
数据 – 字段数据的定义(见下面)。
主列 – 如果这个表是另一个表的明细,你可以设置主列。对于每个已产生的记录,指定数量的明细记录将被生成。
你可以使用“添加现有表”按钮来添加一个现有的表,你还可以从对象浏览器中拖放一个表。

数据定义
数据定义决定了被生成的数据。如果你要创建简单的字符,你可以在两个方括号之间输入字符定义:[数据]

数据可以是下列预先确定的集的混合体:
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 (所有数字)

例如:
[Aaa00] 生成字符串如: Gxe21,Liy05 等。你还可以在两个单引号之间添加文字文本。
例如:
[AA ‘-‘ 1000] 生成字符串如:CX-4903 ,SY-1044 等。
在定义中空格字符是被忽略的,除非它们在引号中。

如果你要一个字符重复许多次,你可以在字符的后面两个括号之间添加次数(n)。你还可以添加一个随机数(最小..最大)。
例如:
[Aa(5..15) ‘ ‘ Aa(8..20)] 的结果就象这样:”Masfae Qwwecdsadif”

定义中的文字文本不必被装入到括号中。换句话说,[‘hello’] 和 ‘hello’ 是等效的。不带引号被输入的文本被认为是函数。
有几个特定的函数是可用的:

Signal(Min, Max, Delta, Noise)
返回技术测定数据(象温度这样的)。Min(最小)和 Max(最大)决定了范围, Delta(△)为最大更改量,你还可以添加一些 Noise(噪声)。例如: Signal(-10, 20, 0.1, 0.1)。

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 决定了行和段落的大小。指定的大小可以是指定的数字或范围(最小..最大)。

File(path, path, …)
从特定的路径(path)中随机地选择一个文件,并插入内容。允许你输入二进制数据(象图片这样的)到数据库中。路径可以使用通配符,象 d:\images\*.bmp 这样的。
你可以通过使用下列函数更改前面函数的文本结果:
Uppercase()
LowerCase()
InitCaps()
例如:InitCaps( List(select ename from emp) )
还有几个预先定义的数据集可用于生成或多或少的真实数据。你可以使用下列定义:
Firstname – 一般列表中的名
Lastname – 一般列表中的姓
Company – 公司名(现有公司的随机列表)
Address1 – 地址行 1
Address2 – 地址行 2
ZIP – 邮政编码
City – 城市
State – 省
Country – 国家
Email (被关联到 Firstname ,Lastname 和 Country) 还有一些可用的实例自定义数据集:
Components.Code – 一般商品项目:商品代码
Components.Description – 商品描述(计算机部分)
Components.Price – 商品价格
Elements.Name – 化学元素(名称)
Elements.Symbol – 化学元素(符号)
这些数据集可以在 DataGenerator\UserData 目录中被找到,文件名为
elements.txt 和 components.txt 。如果需要,你可以添加自己的集。添加一个逗号分隔的文件很简单,在文件中第一行两个方括号之间保存着描述。你可以通过指定“文件名.描述”来使用你的文件中的数据,就象两个例子那样。

上面提及的所有函数和数据都可以添加到一起,例如:Random(10..99) + ‘-‘ +
[A(4)] 。
“+”是可选的,但那中至少应该有一个空格作为分隔符。