add workflow 天润Smart-ccc工单数据,dev
This commit is contained in:
parent
f5720648c2
commit
0a2c7254fa
|
@ -0,0 +1,40 @@
|
|||
|
||||
DROP TABLE IF EXISTS p20_pdm.t00_china_city_pnum_his;
|
||||
CREATE TABLE IF NOT EXISTS p20_pdm.t00_china_city_pnum_his (
|
||||
country VARCHAR(255)
|
||||
, postnumber VARCHAR(255)
|
||||
, full_name VARCHAR(255)
|
||||
, city_name VARCHAR(255)
|
||||
, district VARCHAR(255)
|
||||
, prov_name VARCHAR(255)
|
||||
, area VARCHAR(255)
|
||||
, Scd_Start_Dt date
|
||||
, Scd_End_Dt date
|
||||
, Etl_Batch_No varchar(50)
|
||||
, Etl_First_Dt timestamp(0)
|
||||
, Etl_Job varchar(200)
|
||||
, Etl_Proc_Dt timestamp(0)
|
||||
, Etl_Tx_Dt timestamp(0)
|
||||
, Src_Sysname varchar(50)
|
||||
, Src_Table varchar(50)
|
||||
,primary key( postnumber,full_name,Scd_Start_Dt )
|
||||
);
|
||||
|
||||
COMMENT ON COLUMN p20_pdm.t00_china_city_pnum_his.country IS '';
|
||||
COMMENT ON COLUMN p20_pdm.t00_china_city_pnum_his.postnumber IS '';
|
||||
COMMENT ON COLUMN p20_pdm.t00_china_city_pnum_his.full_name IS '';
|
||||
COMMENT ON COLUMN p20_pdm.t00_china_city_pnum_his.city_name IS '';
|
||||
COMMENT ON COLUMN p20_pdm.t00_china_city_pnum_his.district IS '';
|
||||
COMMENT ON COLUMN p20_pdm.t00_china_city_pnum_his.prov_name IS '';
|
||||
COMMENT ON COLUMN p20_pdm.t00_china_city_pnum_his.area IS '';
|
||||
COMMENT ON COLUMN p20_pdm.t00_china_city_pnum_his.Scd_Start_Dt IS '开始时间';
|
||||
COMMENT ON COLUMN p20_pdm.t00_china_city_pnum_his.Scd_End_Dt IS '结束时间';
|
||||
COMMENT ON COLUMN p20_pdm.t00_china_city_pnum_his.Etl_Batch_No IS '作业批次号';
|
||||
COMMENT ON COLUMN p20_pdm.t00_china_city_pnum_his.Etl_First_Dt IS '最初入库时间';
|
||||
COMMENT ON COLUMN p20_pdm.t00_china_city_pnum_his.Etl_Job IS '作业名称';
|
||||
COMMENT ON COLUMN p20_pdm.t00_china_city_pnum_his.Etl_Proc_Dt IS '本次入库时间';
|
||||
COMMENT ON COLUMN p20_pdm.t00_china_city_pnum_his.Etl_Tx_Dt IS '作业运行时间';
|
||||
COMMENT ON COLUMN p20_pdm.t00_china_city_pnum_his.Src_Sysname IS '来源系统';
|
||||
COMMENT ON COLUMN p20_pdm.t00_china_city_pnum_his.Src_Table IS '来源表';
|
||||
|
||||
COMMENT ON TABLE p20_pdm.t00_china_city_pnum_his IS '城市邮编历史变更表';
|
|
@ -0,0 +1,260 @@
|
|||
/***************************************************************************************************/
|
||||
/*script in Sql, generate by SdmCreateScript 2024(by IdgValue, qihang.feng@idgvalue.COM) */
|
||||
/*VERSION 01.10 revised on 2020-08-25 */
|
||||
/*Brilliance stems from wisdoms. */
|
||||
/*************Head Section**************************************************************************/
|
||||
/*Script Use: Periodically load data to :t00_china_city_pnum_his(城市邮编历史变更表) */
|
||||
/*Create Date:2025-02-06 10:24:49 */
|
||||
/*SDM Developed By: dev */
|
||||
/*SDM Developed Date: 2025-02-06 */
|
||||
/*SDM Checked By: dev */
|
||||
/*SDM Checked Date: 2025-02-06 */
|
||||
/*Script Developed By: dev */
|
||||
/*Script Checked By: dev */
|
||||
/*Source table 1: :PDMDB.t00_china_city_pnum */
|
||||
/*Job Type: Inbound transform (Tier 1 to Tier 2) */
|
||||
/*Target Table:t00_china_city_pnum_his */
|
||||
/*ETL Job Name:t00_china_city_pnum_his */
|
||||
/*ETL Frequency:None */
|
||||
/*ETL Policy:F3 */
|
||||
/********************************************************************************************/
|
||||
/*******Main Section**************************************************************************/
|
||||
\set ON_ERROR_STOP on
|
||||
\set AUTOCOMMIT on
|
||||
\timing on
|
||||
|
||||
|
||||
|
||||
/*创建临时表加载当前数据 */
|
||||
CREATE TEMPORARY TABLE t00_china_city_pnum_his_agi_CUR_I
|
||||
( LIKE :PDMDB.t00_china_city_pnum_his)
|
||||
ON COMMIT PRESERVE ROWS;
|
||||
|
||||
|
||||
|
||||
/*创建临时表加载不同数据 */
|
||||
CREATE TEMPORARY TABLE t00_china_city_pnum_his_agi_INS
|
||||
( LIKE :PDMDB.t00_china_city_pnum_his)
|
||||
ON COMMIT PRESERVE ROWS;
|
||||
|
||||
/*创建临时表加载当前有效数据 */
|
||||
CREATE TEMPORARY TABLE t00_china_city_pnum_his_agi_CUR
|
||||
( LIKE :PDMDB.t00_china_city_pnum_his)
|
||||
ON COMMIT PRESERVE ROWS;
|
||||
|
||||
|
||||
/*****************************************************************************************************/
|
||||
/* GROUP 1:Source Table:t00_china_city_pnum***********************************************************/
|
||||
/*****************************************************************************************************/
|
||||
INSERT INTO t00_china_city_pnum_his_agi_CUR_I (
|
||||
country /**/
|
||||
,postnumber /**/
|
||||
,full_name /**/
|
||||
,city_name /**/
|
||||
,district /**/
|
||||
,prov_name /**/
|
||||
,area /**/
|
||||
,Scd_Start_Dt /*开始时间*/
|
||||
,Scd_End_Dt /*结束时间*/
|
||||
,Etl_Batch_No /*作业批次号*/
|
||||
,Etl_First_Dt /*最初入库时间*/
|
||||
,Etl_Job /*作业名称*/
|
||||
,Etl_Proc_Dt /*本次入库时间*/
|
||||
,Etl_Tx_Dt /*作业运行时间*/
|
||||
,Src_Sysname /*来源系统*/
|
||||
,Src_Table /*来源表*/
|
||||
)
|
||||
SELECT
|
||||
COALESCE(TRIM(p0.country),'') /*country*/
|
||||
,COALESCE(TRIM(p0.postnumber),'') /*postnumber*/
|
||||
,COALESCE(TRIM(p0.full_name),'') /*full_name*/
|
||||
,COALESCE(TRIM(p0.city_name),'') /*city_name*/
|
||||
,COALESCE(TRIM(p0.district),'') /*district*/
|
||||
,COALESCE(TRIM(p0.prov_name),'') /*prov_name*/
|
||||
,COALESCE(TRIM(p0.area),'') /*area*/
|
||||
,TO_DATE(:TXDATE, 'YYYYMMDD') /*Scd_Start_Dt*/
|
||||
,TO_DATE(:MAXDATE,'YYYYMMDD') /*Scd_End_Dt*/
|
||||
,0 /*Etl_Batch_No*/
|
||||
,TO_DATE(:TXDATE,'YYYYMMDD') /*Etl_First_Dt*/
|
||||
,:ETLJOB /*Etl_Job*/
|
||||
,current_timestamp(0) /*Etl_Proc_Dt*/
|
||||
,TO_DATE(:TXDATE,'YYYYMMDD') /*Etl_Tx_Dt*/
|
||||
,Substr('t00_china_city_pnum',1,3) /*Src_Sysname*/
|
||||
,'t00_china_city_pnum' /*Src_Table*/
|
||||
|
||||
FROM :PDMDB.t00_china_city_pnum p0
|
||||
;
|
||||
|
||||
|
||||
|
||||
/*避免同一天多次运行造成数据重复 */
|
||||
|
||||
DELETE FROM :PDMDB.t00_china_city_pnum_his
|
||||
WHERE ETL_JOB=:ETLJOB
|
||||
AND scd_End_Dt=TO_DATE(:MAXDATE,'YYYYMMDD')
|
||||
AND scd_Start_Dt=TO_DATE(:TXDATE,'YYYYMMDD');
|
||||
UPDATE :PDMDB.t00_china_city_pnum_his
|
||||
SET scd_End_Dt=TO_DATE(:MAXDATE,'YYYYMMDD')
|
||||
WHERE ETL_JOB=:ETLJOB
|
||||
AND scd_End_Dt=TO_DATE(:TXDATE,'YYYYMMDD');
|
||||
|
||||
/*往临时表插入当前数据。 */
|
||||
INSERT INTO t00_china_city_pnum_his_agi_CUR(
|
||||
country /**/
|
||||
,Etl_Batch_No /*作业批次号*/
|
||||
,Etl_First_Dt /*最初入库时间*/
|
||||
,Etl_Job /*作业名称*/
|
||||
,Etl_Proc_Dt /*本次入库时间*/
|
||||
,Etl_Tx_Dt /*作业运行时间*/
|
||||
,Src_Sysname /*来源系统*/
|
||||
,Src_Table /*来源表*/
|
||||
,postnumber /**/
|
||||
,full_name /**/
|
||||
,city_name /**/
|
||||
,district /**/
|
||||
,prov_name /**/
|
||||
,area /**/
|
||||
,Scd_Start_Dt /*开始时间*/
|
||||
,Scd_End_Dt /*结束时间*/
|
||||
)
|
||||
SELECT
|
||||
P1.country /**/
|
||||
,P1.Etl_Batch_No /*作业批次号*/
|
||||
,P1.Etl_First_Dt /*最初入库时间*/
|
||||
,P1.Etl_Job /*作业名称*/
|
||||
,P1.Etl_Proc_Dt /*本次入库时间*/
|
||||
,P1.Etl_Tx_Dt /*作业运行时间*/
|
||||
,P1.Src_Sysname /*来源系统*/
|
||||
,P1.Src_Table /*来源表*/
|
||||
,P1.postnumber /**/
|
||||
,P1.full_name /**/
|
||||
,P1.city_name /**/
|
||||
,P1.district /**/
|
||||
,P1.prov_name /**/
|
||||
,P1.area /**/
|
||||
,P1.Scd_Start_Dt /*开始时间*/
|
||||
,P1.Scd_End_Dt /*结束时间*/
|
||||
|
||||
FROM :PDMDB.t00_china_city_pnum_his P1
|
||||
WHERE P1.Scd_End_Dt = TO_DATE(:MAXDATE,'YYYYMMDD')
|
||||
AND P1.ETL_Job = :ETLJOB
|
||||
;
|
||||
/*"今日数据"与"当前有效数据"进行比较找出新增及更新的数据,比对条件是:除去开始日期和结束日期的所有 */
|
||||
/*字段。 */
|
||||
INSERT INTO t00_china_city_pnum_his_agi_INS(
|
||||
country /**/
|
||||
, Etl_Batch_No /*作业批次号*/
|
||||
, Etl_First_Dt /*最初入库时间*/
|
||||
, Etl_Job /*作业名称*/
|
||||
, Etl_Proc_Dt /*本次入库时间*/
|
||||
, Etl_Tx_Dt /*作业运行时间*/
|
||||
, Src_Sysname /*来源系统*/
|
||||
, Src_Table /*来源表*/
|
||||
, postnumber /**/
|
||||
, full_name /**/
|
||||
, city_name /**/
|
||||
, district /**/
|
||||
, prov_name /**/
|
||||
, area /**/
|
||||
, Scd_Start_Dt /*开始时间*/
|
||||
, Scd_End_Dt /*结束时间*/
|
||||
)
|
||||
SELECT
|
||||
P1.country /**/
|
||||
, P1.Etl_Batch_No /*作业批次号*/
|
||||
, P1.Etl_First_Dt /*最初入库时间*/
|
||||
, P1.Etl_Job /*作业名称*/
|
||||
, P1.Etl_Proc_Dt /*本次入库时间*/
|
||||
, P1.Etl_Tx_Dt /*作业运行时间*/
|
||||
, P1.Src_Sysname /*来源系统*/
|
||||
, P1.Src_Table /*来源表*/
|
||||
, P1.postnumber /**/
|
||||
, P1.full_name /**/
|
||||
, P1.city_name /**/
|
||||
, P1.district /**/
|
||||
, P1.prov_name /**/
|
||||
, P1.area /**/
|
||||
, P1.Scd_Start_Dt /*开始时间*/
|
||||
, P1.Scd_End_Dt /*结束时间*/
|
||||
|
||||
FROM t00_china_city_pnum_his_agi_CUR_I P1
|
||||
LEFT JOIN t00_china_city_pnum_his_agi_CUR P2
|
||||
ON P1.postnumber = P2.postnumber
|
||||
AND P1.full_name = P2.full_name
|
||||
AND P1.country = P2.country
|
||||
AND P1.city_name = P2.city_name
|
||||
AND P1.district = P2.district
|
||||
AND P1.prov_name = P2.prov_name
|
||||
AND P1.area = P2.area
|
||||
AND P2.ETL_Job =:ETLJOB
|
||||
WHERE
|
||||
P2.postnumber IS NULL
|
||||
AND P2.full_name IS NULL
|
||||
AND P2.Scd_Start_Dt IS NULL
|
||||
AND P2.country IS NULL
|
||||
AND P2.city_name IS NULL
|
||||
AND P2.district IS NULL
|
||||
AND P2.prov_name IS NULL
|
||||
AND P2.area IS NULL
|
||||
|
||||
;
|
||||
|
||||
|
||||
/*更新目标表中数据,对更新的数据进行封口,即置结束日期为TX_DATE */
|
||||
UPDATE :PDMDB.t00_china_city_pnum_his
|
||||
SET Scd_End_Dt = TO_DATE(:TXDATE,'YYYYMMDD')
|
||||
,Etl_Tx_Dt=:TXDATE
|
||||
,Etl_Proc_Dt=CURRENT_TIMESTAMP(0)
|
||||
WHERE Scd_End_Dt = TO_DATE(:MAXDATE, 'YYYYMMDD')
|
||||
AND (:PDMDB.t00_china_city_pnum_his.ETL_Job = :ETLJOB)
|
||||
AND ( postnumber , full_name)
|
||||
IN (SELECT postnumber , full_name
|
||||
FROM t00_china_city_pnum_his_agi_INS)
|
||||
|
||||
/*然后将新增的数据插入到目标表中,置开始日期为TX_DATE,结束日期置为MAXDATE */
|
||||
;INSERT INTO :PDMDB.t00_china_city_pnum_his (
|
||||
country /**/
|
||||
,Etl_Batch_No /*作业批次号*/
|
||||
,Etl_First_Dt /*最初入库时间*/
|
||||
,Etl_Job /*作业名称*/
|
||||
,Etl_Proc_Dt /*本次入库时间*/
|
||||
,Etl_Tx_Dt /*作业运行时间*/
|
||||
,Src_Sysname /*来源系统*/
|
||||
,Src_Table /*来源表*/
|
||||
,postnumber /**/
|
||||
,full_name /**/
|
||||
,city_name /**/
|
||||
,district /**/
|
||||
,prov_name /**/
|
||||
,area /**/
|
||||
,Scd_Start_Dt /*开始时间*/
|
||||
,Scd_End_Dt /*结束时间*/
|
||||
)
|
||||
SELECT
|
||||
P1.country /**/
|
||||
,P1.Etl_Batch_No /*作业批次号*/
|
||||
,P1.Etl_First_Dt /*最初入库时间*/
|
||||
,P1.Etl_Job /*作业名称*/
|
||||
,P1.Etl_Proc_Dt /*本次入库时间*/
|
||||
,P1.Etl_Tx_Dt /*作业运行时间*/
|
||||
,P1.Src_Sysname /*来源系统*/
|
||||
,P1.Src_Table /*来源表*/
|
||||
,P1.postnumber /**/
|
||||
,P1.full_name /**/
|
||||
,P1.city_name /**/
|
||||
,P1.district /**/
|
||||
,P1.prov_name /**/
|
||||
,P1.area /**/
|
||||
,P1.Scd_Start_Dt /*开始时间*/
|
||||
,P1.Scd_End_Dt /*结束时间*/
|
||||
|
||||
FROM t00_china_city_pnum_his_agi_INS P1
|
||||
;
|
||||
|
||||
|
||||
;
|
||||
|
||||
;
|
||||
/*****程序结束退出 */
|
||||
\q
|
||||
|
Loading…
Reference in New Issue