我正在尝试创建随机数据并将其插入表中.现在只是想想完成这项工作的有效方法是什么.例如
Create volatile table mytb , no fallback, no journal ( C1 integer not null C2 Varchar (50) Not null , C3 D1 Date Not null, C4 D2 date not null ) with data primary index ( c1) on commit preserve rows;
我想要的是为每个列值的特定List或范围的X迭代随机插入值.例如C1范围在30到3000000之间C2是一个列表('已批准','待定','未知','有争议','wip','已处理','已预处理','已拒绝')等等C3是01-01-1999到2015年3月12日之间的日期等等.然后说100万次迭代我想为这些列插入随机值并为某些值创建一个SKEW-这些值应该是丰富的与其他人相比.有人曾经对此进行过挖掘.最好的方法是什么 - 递归Q逻辑?
我RANDOM
用来生成测试数据:
SELECT RANDOM(30,3000000) AS c1, CASE RANDOM(1,8) WHEN 1 THEN 'approved' WHEN 2 THEN 'pending' WHEN 3 THEN 'unknown' WHEN 4 THEN 'disputed' WHEN 5 THEN 'wip' WHEN 6 THEN 'processed' WHEN 7 THEN 'pre-processed' WHEN 8 THEN 'denied' END, DATE '1999-01-01' + RANDOM(0,6208) -- up to 2015-12-31 FROM sys_calendar.CALENDAR -- any table with a large number of rows
这会导致均匀分布的数据,如果您想要倾斜,您可以运行不同的插入/选择或使用多个RANDOM:
RANDOM(1,50) + RANDOM(0,50) (RANDOM(1, 50) * RANDOM(1,200) + RANDOM(0,100)) / 100.00