diff --git a/TK_Cust/dev/tk_cust/SCRM线索历史/t01_scrm_leads_his.sql b/TK_Cust/dev/tk_cust/SCRM线索历史/t01_scrm_leads_his.sql new file mode 100644 index 0000000..a73c589 --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM线索历史/t01_scrm_leads_his.sql @@ -0,0 +1,30 @@ + +DROP TABLE IF EXISTS p20_pdm.t01_scrm_leads_his; +CREATE TABLE IF NOT EXISTS p20_pdm.t01_scrm_leads_his ( + cue_id varchar(30) + , activate_time timestamp(0) + , activate_name varchar(30) + , event_name varchar(30) + , Etl_Batch_No varchar(50) + , Etl_First_Dt timestamp(0) + , Etl_Job varchar(50) + , Etl_Proc_Dt timestamp(0) + , Etl_Tx_Dt timestamp(0) + , Src_Sysname varchar(50) + , Src_Table varchar(50) + ,primary key( cue_id,activate_time ) +); + + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.cue_id IS '线索ID'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.activate_time IS '活动时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.activate_name IS '活动名称'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.event_name IS '事件名称'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads_his.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t01_scrm_leads_his IS 'SCRM线索历史'; \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/SCRM线索历史/t01_scrm_leads_his_agi.sql b/TK_Cust/dev/tk_cust/SCRM线索历史/t01_scrm_leads_his_agi.sql new file mode 100644 index 0000000..8c63887 --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM线索历史/t01_scrm_leads_his_agi.sql @@ -0,0 +1,166 @@ +/***************************************************************************************************/ +/*script in Sql, generate by SdmCreateScript 2020(by Qihang Feng, QF255001@TERADATA.COM) */ +/*VERSION 01.10 revised on 2020-08-25 */ +/*Brilliance stems from wisdoms. */ +/*************Head Section**************************************************************************/ +/*Script Use: Periodically load data to :t01_scrm_leads_his(SCRM线索历史) */ +/*Create Date:2024-01-18 15:43:39 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2024-01-12 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2024-01-18 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_scrm_leads_bf0912 */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t01_scrm_leads_his */ +/*ETL Job Name:t01_scrm_leads_his */ +/*ETL Frequency:Daily */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t01_scrm_leads_his_agi_CUR_I + ( LIKE :PDMDB.t01_scrm_leads_his) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE t01_scrm_leads_his_agi_INS +( LIKE :PDMDB.t01_scrm_leads_his) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_scrm_leads_bf0912*******************************************************/ +/*****************************************************************************************************/ + +INSERT INTO t01_scrm_leads_his_agi_CUR_I ( + cue_id /*线索ID*/ + ,activate_time /*活动时间*/ + ,activate_name /*活动名称*/ + ,event_name /*事件名称*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ) +SELECT + COALESCE(TRIM(CAST(p0.cue_id AS varchar(30))),'') /*cue_id*/ + ,COALESCE(TO_TIMESTAMP(CAST(p0.activate_time AS VARCHAR(19)),'YYYY-MM-DD HH24:mi:ss'),TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*activate_time*/ + ,COALESCE(TRIM(CAST(p0.activate_name AS varchar(30))),'') /*activate_name*/ + ,COALESCE(TRIM(CAST(p0.event_name AS varchar(30))),'') /*event_name*/ + ,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('s98_s_scrm_leads_bf0912',1,3) /*Src_Sysname*/ + ,'s98_s_scrm_leads_bf0912' /*Src_Table*/ + +FROM (select distinct on (cue_id ,activate_time) * from p10_sa.s98_s_scrm_leads_bf0912) p0 + + +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO t01_scrm_leads_his_agi_INS ( + activate_name /*活动名称*/ + ,event_name /*事件名称*/ + ,cue_id /*线索ID*/ + ,activate_time /*活动时间*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.activate_name /*活动名称*/ + ,P1.event_name /*事件名称*/ + ,P1.cue_id /*线索ID*/ + ,P1.activate_time /*活动时间*/ + ,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 /*来源表*/ + +FROM t01_scrm_leads_his_agi_CUR_I P1 +LEFT JOIN :PDMDB.t01_scrm_leads_his P2 +ON P1.activate_name = P2.activate_name + AND P1.event_name = P2.event_name + AND P1.cue_id = P2.cue_id + AND P1.activate_time = P2.activate_time + +WHERE P2.activate_name IS NULL + OR P2.event_name IS NULL + OR P2.cue_id IS NULL + OR P2.activate_time IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t01_scrm_leads_his ( + activate_name /*活动名称*/ + ,event_name /*事件名称*/ + ,cue_id /*线索ID*/ + ,activate_time /*活动时间*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.activate_name /*活动名称*/ + ,P1.event_name /*事件名称*/ + ,P1.cue_id /*线索ID*/ + ,P1.activate_time /*活动时间*/ + ,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 /*来源表*/ + +FROM t01_scrm_leads_his_agi_INS P1 +ON CONFLICT ( cue_id,activate_time) +DO UPDATE SET + cue_id=excluded.cue_id + ,activate_time=excluded.activate_time + ,activate_name=excluded.activate_name + ,event_name=excluded.event_name + ,Etl_Batch_No=excluded.Etl_Batch_No + ,Etl_First_Dt=excluded.Etl_First_Dt + ,Etl_Job=excluded.Etl_Job + ,Etl_Proc_Dt=excluded.Etl_Proc_Dt + ,Etl_Tx_Dt=excluded.Etl_Tx_Dt + ,Src_Sysname=excluded.Src_Sysname + ,Src_Table=excluded.Src_Table + + +; +/*****程序结束退出 */ +\q +