在DB2中创建测试表和数据

问题描述 投票:0回答:2

如何在 DB2 Express-C 中创建包含 10 MB 测试数据的表?

您能向我展示一些如何插入随机数据的基本示例吗?

 CREATE TABLE topic_sources (
  topic_id integer NOT NULL,
  platform varchar(50) NOT NULL,
  keywords varchar(50) default NULL,
  PRIMARY KEY (topic_id,platform)
);
db2
2个回答
2
投票

您可以使用递归查询,例如

insert into topic_sources (topic_id, platform, keywords)
with tmp (i) as (
  select 1 from sysibm.sysdummy1
  union all
  select i+1 from tmp where i < 1000000
)
select 
  int(rand()*10000), 
  'platform'||int(rand()*10), 
  'keyword'||int(rand()*100)
from tmp

适当调整随机数范围和行数。

这个想法取自这里(幻灯片 14)


0
投票

您可能会遇到重复行问题。这是修改后的查询
INSERT INTO topic_sources(topic_id、平台、关键字) 与 tmp (i) AS ( 从 sysibm.sysdummy1 选择 1 联合所有 从 tmp 中选择 i+1,其中 i < 1000000 ) SELECT i, 'platform'||i, 'keyword'||i FROM tmp;

© www.soinside.com 2019 - 2024. All rights reserved.