使用Oracle PL/SQL开发人员生成测试数据

9

我想测试一些模式和索引,不知道 PL/SQL Developer 是否有一个可以生成测试数据的功能(这样我就不用创建序列和循环来插入表中的数据了)。


我很抱歉,我不相信这是可能的。 - Chris
http://www.orafaq.com/wiki/Oracle_Row_Generator_Techniques - Vadzim
AskTom: https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:2151576678914 - Vadzim
1个回答

23

循环和PL/SQL并不总是必须的;这个技巧可能会有帮助:

insert into emp(id, name, salary)
select rownum, 'Employee ' || to_char(rownum), dbms_random.value(2, 9) * 1000
from dual
connect by level <= 100;

将生成100条记录,以Employee 1到Employee 100为名,并具有介于2000和9000之间的随机“轮回”薪水。

两种主要技术是:

  1. 使用 connect by level <= n 在dual上生成n行查询。
  2. 使用 dbms_random 包;还有一个非常有用的函数 dbms_random.string,可以像其名称所示那样用于生成包含某些字符的特定长度的随机字符串。

5
DBMS_RANDOM.string('x',10) 用于生成长度为10的随机字符串。 - RokX

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接