7

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

4

1 回答 1

18

循环和 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在对偶查询中生成 n 行。
  2. 使用dbms_random包装;还有一个非常有用的函数dbms_random.string——就像它的名字所暗示的那样——生成包含特定字符的特定长度的随机字符串。
于 2013-10-16T08:54:09.923 回答