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

eye*_*tea 5 database oracle test-data plsql plsqldeveloper

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

Col*_*art 13

循环和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;
Run Code Online (Sandbox Code Playgroud)

将生成100条记录,名为Employee 1到Employee 100,随机"轮"工资在2000到9000之间.

两种主要技术是:

  1. 用于connect by level <= n在双重查询中生成n行.
  2. 使用dbms_random包装; 还有一个非常有用的功能dbms_random.string,可以使用 - 如其名称所示 - 生成包含某些字符的特定长度的随机字符串.

  • DBMS_RANDOM.string('x',10)表示字符串 (3认同)