【发布时间】:2020-05-05 19:58:40
【问题描述】:
我有一个获取现有数据表信息的 sql db2 代码,我想将其修改为不下载从 2020-02-01 开始的数据,而是每天更新此表。请帮我修改这个脚本,不要为了更新而一遍又一遍地检索整个数据,而是每天只更新新数据。
create table public.fc_TDPMean_By_DIM2_EtchDate as
select DIM2_EtchDate, Model, tool_id, avg(TDPower) as TDPower_Mean, count(slider_id)
from (select distinct a.slider_id, trunc(a.test_date_time), left(a.product_id,2) as Model, a.wafer_id, a.row_number,
a.column_number, a.x_coordinate, a.y_coordinate, a.error_code, a.grade, a.bin,
a.TFCTDPWR as TDPower, b.job_number, trunc(c.transaction_date_time) as DIM2_EtchDate, c.tool_id
from ah.param_jade_wide a left join ah.param_lap_summary b on a.wafer_id = b.wafer_id and a.row_number = b.row_number
left join ah.his_job c on c.job_number = b.job_number
where c.transaction_date_time > '2020-02-01'
and left(a.product_id,2) in ('L2','L3','L8','C3','C2','V8')
and b.source_system_code in ('MFG2.SLDR.LAPRUN')
and c.operation_id in ('545600')
and a.retest_number = 0
and a.class_description in ('PROD')
and not c.tool_id = 0 and not c.tool_id in ('') )
group by DIM2_EtchDate, Model, tool_id;
commit;
【问题讨论】:
-
“每天更新此表”的具体规则是什么?执行此操作的能力取决于所有这 3 个表的数据更改性质。你确定你的选择,比如说,
date(c.transaction_date_time) = some_previous_date条件总是返回相同的数据,不管你在这个some_previous_date日期之后运行它的时间吗?换句话说,您对这些表有任何回溯更新吗? -
我只是每天运行它来更新我的数据,因为它总是得到大于日期。由于每天都在创建表
public.fc_TDPMean_By_DIM2_EtchDate,所以我只想今天获取数据并将其更新到表public.fc_TDPMean_By_DIM2_EtchDate。我是 db2 的新手,我不知道如何才能更新它而不是每天创建表。