给DB2表造数(代码未进行测试)

本文介绍如何创建一个包含时间、维度代码、维度值及数据值的SQL数据表,并通过复杂的SQL插入语句实现数据的批量填充。利用WITH子句创建临时表,结合SELECT从多个维度生成大量随机数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

create table table_name (
data_name date //时间字段
,cp1_cod varchar(10) //维度1代码
,cp1_val varchar(10) //维度1值
,cp2_cod varchar(10) //维度2代码
,cp2_val varchar(10) //维度2值
,col_1 decimal(18,2) //数据值
,col_2 decimal(18,2) //数据值
,col_3 decimal(18,2) //数据值
);

insert into table_name(
data_name
,cp1_cod
,cp1_val
,cp2_cod
,cp2_val
,col_1
,col_2
,col_3
)
with
tab_date(data_name) as
(
values (‘2018-12-01’)
,(‘2018-12-02’)
,(‘2018-12-03’)
,(‘2018-12-04’)
,(‘2018-12-05’)
,(‘2018-12-06’)
,(‘2018-12-07’)
),
tab_cp1 (cp1_cod,cp1_val) as (values(‘A’,‘1’),(‘B’,‘2’),
tab_cp2 (cp2_cod,cp2_val) as (values(‘C’,‘3’))
select
a.data_name
,b.cp1_cod
,b.cp1_val
,c.cp2_cod
,c.cp2_val
,floor(rand()*10000)
,floor(rand()*10000)
,rand()
from tab_date a
,tab_cp1 b
,tab_cp2 c

备注:
如果CP1_COD/CP1_VAL+CP2_COD/CP2_VAL的维度值,也可以使用sql查询语句代替。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值