diff --git a/TK_Cust/dev/tk_cust/SCRM线索/t01_scrm_leads.sql b/TK_Cust/dev/tk_cust/SCRM线索/t01_scrm_leads.sql new file mode 100644 index 0000000..57847fc --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM线索/t01_scrm_leads.sql @@ -0,0 +1,46 @@ + +DROP TABLE IF EXISTS p20_pdm.t01_scrm_leads; +CREATE TABLE IF NOT EXISTS p20_pdm.t01_scrm_leads ( + customer_id varchar(30) + , date timestamp(0) + , target_name varchar(30) + , c_name varchar(30) + , c_type varchar(30) + , content_name varchar(30) + , source varchar(50) + , tag varchar(30) + , c_keyword varchar(30) + , attr2 varchar(30) + , label varchar(30) + , group_label 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( customer_id,date ) +); + + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.customer_id IS 'customerId'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.date IS 'date'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.target_name IS 'targetName'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.c_name IS 'c_name'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.c_type IS 'c_type'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.content_name IS 'contentName'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.source IS 'source'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.tag IS 'tag'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.c_keyword IS 'c_keyword'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.attr2 IS 'attr2'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.label IS 'label'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.group_label IS 'groupLabel'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t01_scrm_leads.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t01_scrm_leads IS 'SCRM线索'; \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/SCRM线索/t01_scrm_leads_agi.sql b/TK_Cust/dev/tk_cust/SCRM线索/t01_scrm_leads_agi.sql new file mode 100644 index 0000000..9bd3b0a --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM线索/t01_scrm_leads_agi.sql @@ -0,0 +1,235 @@ +/***************************************************************************************************/ +/*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(SCRM线索) */ +/*Create Date:2024-01-18 15:18:51 */ +/*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_af0912 */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t01_scrm_leads */ +/*ETL Job Name:t01_scrm_leads */ +/*ETL Frequency:Daily */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t01_scrm_leads_agi_CUR_I + ( LIKE :PDMDB.t01_scrm_leads) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE t01_scrm_leads_agi_INS +( LIKE :PDMDB.t01_scrm_leads) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_scrm_leads_af0912*******************************************************/ +/*****************************************************************************************************/ +INSERT INTO t01_scrm_leads_agi_CUR_I ( + customer_id /*customerId*/ + ,date /*date*/ + ,target_name /*targetName*/ + ,c_name /*c_name*/ + ,c_type /*c_type*/ + ,content_name /*contentName*/ + ,source /*source*/ + ,tag /*tag*/ + ,c_keyword /*c_keyword*/ + ,attr2 /*attr2*/ + ,label /*label*/ + ,group_label /*groupLabel*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + ) +SELECT + COALESCE(TRIM(CAST(p0.customer_id AS varchar(30))),'') /*customer_id*/ + ,COALESCE(TO_TIMESTAMP(CAST(p0.date AS VARCHAR(19)),'YYYY-MM-DD HH24:mi:ss'),TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*date*/ + ,COALESCE(TRIM(CAST(p0.target_name AS varchar(30))),'') /*target_name*/ + ,COALESCE(TRIM(CAST(p0.c_name AS varchar(30))),'') /*c_name*/ + ,COALESCE(TRIM(CAST(p0.c_type AS varchar(30))),'') /*c_type*/ + ,COALESCE(TRIM(CAST(p0.content_name AS varchar(30))),'') /*content_name*/ + ,COALESCE(TRIM(CAST(p0.source AS varchar(50))),'') /*source*/ + ,COALESCE(TRIM(CAST(p0.tag AS varchar(30))),'') /*tag*/ + ,COALESCE(TRIM(CAST(p0.c_keyword AS varchar(30))),'') /*c_keyword*/ + ,COALESCE(TRIM(CAST(p0.attr2 AS varchar(30))),'') /*attr2*/ + ,COALESCE(TRIM(CAST(p0.label AS varchar(30))),'') /*label*/ + ,COALESCE(TRIM(CAST(p0.group_label AS varchar(30))),'') /*group_label*/ + ,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_af0912',1,3) /*Src_Sysname*/ + ,'s98_s_scrm_leads_af0912' /*Src_Table*/ + +FROM p10_sa.s98_s_scrm_leads_af0912 p0 +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO t01_scrm_leads_agi_INS ( + date /*date*/ + ,target_name /*targetName*/ + ,c_name /*c_name*/ + ,c_type /*c_type*/ + ,content_name /*contentName*/ + ,source /*source*/ + ,tag /*tag*/ + ,c_keyword /*c_keyword*/ + ,attr2 /*attr2*/ + ,label /*label*/ + ,group_label /*groupLabel*/ + ,customer_id /*customerId*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.date /*date*/ + ,P1.target_name /*targetName*/ + ,P1.c_name /*c_name*/ + ,P1.c_type /*c_type*/ + ,P1.content_name /*contentName*/ + ,P1.source /*source*/ + ,P1.tag /*tag*/ + ,P1.c_keyword /*c_keyword*/ + ,P1.attr2 /*attr2*/ + ,P1.label /*label*/ + ,P1.group_label /*groupLabel*/ + ,P1.customer_id /*customerId*/ + ,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_agi_CUR_I P1 +LEFT JOIN :PDMDB.t01_scrm_leads P2 +ON P1.date = P2.date + AND P1.target_name = P2.target_name + AND P1.c_name = P2.c_name + AND P1.c_type = P2.c_type + AND P1.content_name = P2.content_name + AND P1.source = P2.source + AND P1.tag = P2.tag + AND P1.c_keyword = P2.c_keyword + AND P1.attr2 = P2.attr2 + AND P1.label = P2.label + AND P1.group_label = P2.group_label + AND P1.customer_id = P2.customer_id + +WHERE P2.date IS NULL + OR P2.target_name IS NULL + OR P2.c_name IS NULL + OR P2.c_type IS NULL + OR P2.content_name IS NULL + OR P2.source IS NULL + OR P2.tag IS NULL + OR P2.c_keyword IS NULL + OR P2.attr2 IS NULL + OR P2.label IS NULL + OR P2.group_label IS NULL + OR P2.customer_id IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t01_scrm_leads ( + date /*date*/ + ,target_name /*targetName*/ + ,c_name /*c_name*/ + ,c_type /*c_type*/ + ,content_name /*contentName*/ + ,source /*source*/ + ,tag /*tag*/ + ,c_keyword /*c_keyword*/ + ,attr2 /*attr2*/ + ,label /*label*/ + ,group_label /*groupLabel*/ + ,customer_id /*customerId*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.date /*date*/ + ,P1.target_name /*targetName*/ + ,P1.c_name /*c_name*/ + ,P1.c_type /*c_type*/ + ,P1.content_name /*contentName*/ + ,P1.source /*source*/ + ,P1.tag /*tag*/ + ,P1.c_keyword /*c_keyword*/ + ,P1.attr2 /*attr2*/ + ,P1.label /*label*/ + ,P1.group_label /*groupLabel*/ + ,P1.customer_id /*customerId*/ + ,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_agi_INS P1 +ON CONFLICT ( customer_id) +DO UPDATE SET + customer_id=excluded.customer_id + ,date=excluded.date + ,target_name=excluded.target_name + ,c_name=excluded.c_name + ,c_type=excluded.c_type + ,content_name=excluded.content_name + ,source=excluded.source + ,tag=excluded.tag + ,c_keyword=excluded.c_keyword + ,attr2=excluded.attr2 + ,label=excluded.label + ,group_label=excluded.group_label + ,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 + 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..ed39070 --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM线索历史/t01_scrm_leads_his_agi.sql @@ -0,0 +1,163 @@ +/***************************************************************************************************/ +/*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:18:19 */ +/*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 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 + diff --git a/TK_Cust/dev/tk_cust/SCRM联系方式变更/t01_scrm_contact_update.sql b/TK_Cust/dev/tk_cust/SCRM联系方式变更/t01_scrm_contact_update.sql new file mode 100644 index 0000000..d5330b5 --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM联系方式变更/t01_scrm_contact_update.sql @@ -0,0 +1,42 @@ + +DROP TABLE IF EXISTS p20_pdm.t01_scrm_contact_update; +CREATE TABLE IF NOT EXISTS p20_pdm.t01_scrm_contact_update ( + cue_id varchar(30) + , city_name varchar(50) + , company_name varchar(50) + , email varchar(50) + , mobile_number varchar(20) + , full_name varchar(20) + , prov_name varchar(50) + , create_time timestamp(0) + , wechat_id varchar(50) + , update_time timestamp(0) + , 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,update_time ) +); + + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.cue_id IS '线索ID'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.city_name IS '城市'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.company_name IS '公司'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.email IS '邮箱'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.mobile_number IS '手机号码'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.full_name IS '姓名'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.prov_name IS '省份'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.create_time IS '创建时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.wechat_id IS '身份-企业微信外部联系人'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.update_time IS '更新时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.Etl_Batch_No IS '作业批次号'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.Etl_First_Dt IS '最初入库时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.Etl_Job IS '作业名称'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.Etl_Proc_Dt IS '本次入库时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.Etl_Tx_Dt IS '作业运行时间'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.Src_Sysname IS '来源系统'; + COMMENT ON COLUMN p20_pdm.t01_scrm_contact_update.Src_Table IS '来源表'; + +COMMENT ON TABLE p20_pdm.t01_scrm_contact_update IS 'SCRM联系方式变更'; \ No newline at end of file diff --git a/TK_Cust/dev/tk_cust/SCRM联系方式变更/t01_scrm_contact_update_agi.sql b/TK_Cust/dev/tk_cust/SCRM联系方式变更/t01_scrm_contact_update_agi.sql new file mode 100644 index 0000000..a9372e9 --- /dev/null +++ b/TK_Cust/dev/tk_cust/SCRM联系方式变更/t01_scrm_contact_update_agi.sql @@ -0,0 +1,220 @@ +/***************************************************************************************************/ +/*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_contact_update(SCRM联系方式变更) */ +/*Create Date:2024-01-15 15:48:37 */ +/*SDM Developed By: dev */ +/*SDM Developed Date: 2024-01-12 */ +/*SDM Checked By: dev */ +/*SDM Checked Date: 2024-01-15 */ +/*Script Developed By: dev */ +/*Script Checked By: dev */ +/*Source table 1: p10_sa.s98_s_scrm_contact_update_af0912 */ +/*Job Type: Inbound transform (Tier 1 to Tier 2) */ +/*Target Table:t01_scrm_contact_update */ +/*ETL Job Name:t01_scrm_contact_update */ +/*ETL Frequency:Daily */ +/*ETL Policy:F2 */ +/********************************************************************************************/ +/*******Main Section**************************************************************************/ +\set ON_ERROR_STOP on +\set AUTOCOMMIT on +\timing on + + + +/*创建临时表加载当前数据 */ +CREATE TEMPORARY TABLE t01_scrm_contact_update_agi_CUR_I + ( LIKE :PDMDB.t01_scrm_contact_update) +ON COMMIT PRESERVE ROWS; + + + +/*创建临时表加载不同数据 */ +CREATE TEMPORARY TABLE t01_scrm_contact_update_agi_INS +( LIKE :PDMDB.t01_scrm_contact_update) +ON COMMIT PRESERVE ROWS; + + +/*****************************************************************************************************/ +/* GROUP 1:Source Table:s98_s_scrm_contact_update_af0912**********************************************/ +/*****************************************************************************************************/ + +INSERT INTO t01_scrm_contact_update_agi_CUR_I ( + cue_id /*线索ID*/ + ,city_name /*城市*/ + ,company_name /*公司*/ + ,email /*邮箱*/ + ,mobile_number /*手机号码*/ + ,full_name /*姓名*/ + ,prov_name /*省份*/ + ,create_time /*创建时间*/ + ,wechat_id /*身份-企业微信外部联系人*/ + ,update_time /*更新时间*/ + ,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(TRIM(CAST(p0.city_name AS varchar(50))),'') /*city_name*/ + ,COALESCE(TRIM(CAST(p0.company_name AS varchar(50))),'') /*company_name*/ + ,COALESCE(TRIM(CAST(p0.email AS varchar(50))),'') /*email*/ + ,replace(COALESCE(TRIM(CAST(p0.mobile_number AS varchar(20))),''),'.0','') /*mobile_number*/ + ,COALESCE(TRIM(CAST(p0.full_name AS varchar(20))),'') /*full_name*/ + ,COALESCE(TRIM(CAST(p0.prov_name AS varchar(50))),'') /*prov_name*/ + ,COALESCE(TO_TIMESTAMP(CAST(p0.create_time AS VARCHAR(19)),'YYYY-MM-DD HH24:mi:ss'),TO_TIMESTAMP(:NULLDATE,'YYYYMMDD')) /*create_time*/ + ,COALESCE(TRIM(CAST(p0.wechat_id AS varchar(50))),'') /*wechat_id*/ + ,COALESCE(TO_TIMESTAMP(CAST(p0.update_time AS VARCHAR(19)),'YYYY-MM-DDTHH24:mi:ss'),TO_TIMESTAMP('19000102','YYYYMMDD')) /*update_time*/ + ,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_contact_update_af0912',1,3) /*Src_Sysname*/ + ,'s98_s_scrm_contact_update_af0912' /*Src_Table*/ + +FROM (select distinct on (cue_id,update_time) * from p10_sa.s98_s_scrm_contact_update_af0912) p0 + + +; + + + +/*将不同数据插入到临时表 */ +;INSERT INTO t01_scrm_contact_update_agi_INS ( + city_name /*城市*/ + ,company_name /*公司*/ + ,email /*邮箱*/ + ,mobile_number /*手机号码*/ + ,full_name /*姓名*/ + ,prov_name /*省份*/ + ,create_time /*创建时间*/ + ,wechat_id /*身份-企业微信外部联系人*/ + ,cue_id /*线索ID*/ + ,update_time /*更新时间*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) + SELECT + P1.city_name /*城市*/ + ,P1.company_name /*公司*/ + ,P1.email /*邮箱*/ + ,P1.mobile_number /*手机号码*/ + ,P1.full_name /*姓名*/ + ,P1.prov_name /*省份*/ + ,P1.create_time /*创建时间*/ + ,P1.wechat_id /*身份-企业微信外部联系人*/ + ,P1.cue_id /*线索ID*/ + ,P1.update_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_contact_update_agi_CUR_I P1 +LEFT JOIN :PDMDB.t01_scrm_contact_update P2 +ON P1.city_name = P2.city_name + AND P1.company_name = P2.company_name + AND P1.email = P2.email + AND P1.mobile_number = P2.mobile_number + AND P1.full_name = P2.full_name + AND P1.prov_name = P2.prov_name + AND P1.create_time = P2.create_time + AND P1.wechat_id = P2.wechat_id + AND P1.cue_id = P2.cue_id + AND P1.update_time = P2.update_time + +WHERE P2.city_name IS NULL + OR P2.company_name IS NULL + OR P2.email IS NULL + OR P2.mobile_number IS NULL + OR P2.full_name IS NULL + OR P2.prov_name IS NULL + OR P2.create_time IS NULL + OR P2.wechat_id IS NULL + OR P2.cue_id IS NULL + OR P2.update_time IS NULL + +; +/*将新增数据插入到目标表 */ +;INSERT INTO :PDMDB.t01_scrm_contact_update ( + city_name /*城市*/ + ,company_name /*公司*/ + ,email /*邮箱*/ + ,mobile_number /*手机号码*/ + ,full_name /*姓名*/ + ,prov_name /*省份*/ + ,create_time /*创建时间*/ + ,wechat_id /*身份-企业微信外部联系人*/ + ,cue_id /*线索ID*/ + ,update_time /*更新时间*/ + ,Etl_Batch_No /*作业批次号*/ + ,Etl_First_Dt /*最初入库时间*/ + ,Etl_Job /*作业名称*/ + ,Etl_Proc_Dt /*本次入库时间*/ + ,Etl_Tx_Dt /*作业运行时间*/ + ,Src_Sysname /*来源系统*/ + ,Src_Table /*来源表*/ + +) +SELECT + P1.city_name /*城市*/ + ,P1.company_name /*公司*/ + ,P1.email /*邮箱*/ + ,P1.mobile_number /*手机号码*/ + ,P1.full_name /*姓名*/ + ,P1.prov_name /*省份*/ + ,P1.create_time /*创建时间*/ + ,P1.wechat_id /*身份-企业微信外部联系人*/ + ,P1.cue_id /*线索ID*/ + ,P1.update_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_contact_update_agi_INS P1 +ON CONFLICT ( cue_id,update_time) +DO UPDATE SET + cue_id=excluded.cue_id + ,update_time=excluded.update_time + ,city_name=excluded.city_name + ,company_name=excluded.company_name + ,email=excluded.email + ,mobile_number=excluded.mobile_number + ,full_name=excluded.full_name + ,prov_name=excluded.prov_name + ,create_time=excluded.create_time + ,wechat_id=excluded.wechat_id + ,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 +