Load data to table respecting constraint
Load data to table respecting constraint
VJE::OPP3MTENG_TBL" AS target
USING (
SELECT *
FROM (
SELECT
COALESCE(OPPORTUNITY, '') AS OPPORTUNITY,
COALESCE(TAETIGKEITSART_I, '') AS TAETIGKEITSART_I,
COALESCE(SUB_SOLUTION, '') AS SUB_SOLUTION,
COALESCE(ENG_PARTNER_I, '') AS ENG_PARTNER_I,
COALESCE(ENG_MANAGER_I, '') AS ENG_MANAGER_I,
COALESCE(PROFIT_CENTER_I, '') AS PROFIT_CENTER_I,
SOLUTION_SERVICE,
CREATED_AT,
STARTDATE,
EXPECTED_END,
PROFIT_CENTER_H,
KPMG_REGION,
ENG_MANAGER_H,
ENG_PARTNER_H,
CRM_USER_STATUS,
SALES_STAGE,
ACTUAL_PERIOD,
ROW_NUMBER() OVER (PARTITION BY OPPORTUNITY, TAETIGKEITSART_I,
SUB_SOLUTION, ENG_PARTNER_I, ENG_MANAGER_I, PROFIT_CENTER_I ORDER BY CREATED_AT
DESC) AS row_num
FROM "_SYS_BIC"."KPMG.DE.SAP.BI.EDW.OPP/OPP3FORECAST_MTE_CV"
)
WHERE row_num = 1 -- Uklanja duplikate, ostavljajući samo jedan red za isti
primarni ključ
) AS source
ON target.OPPORTUNITY = source.OPPORTUNITY
AND target.TAETIGKEITSART_I = source.TAETIGKEITSART_I
AND target.SUB_SOLUTION = source.SUB_SOLUTION
AND target.ENG_PARTNER_I = source.ENG_PARTNER_I
AND target.ENG_MANAGER_I = source.ENG_MANAGER_I
AND target.PROFIT_CENTER_I = source.PROFIT_CENTER_I
WHEN MATCHED THEN
UPDATE SET
target.SOLUTION_SERVICE = source.SOLUTION_SERVICE,
target.CREATED_AT = source.CREATED_AT,
target.STARTDATE = source.STARTDATE,
target.EXPECTED_END = source.EXPECTED_END,
target.PROFIT_CENTER_H = source.PROFIT_CENTER_H,
target.KPMG_REGION = source.KPMG_REGION,
target.ENG_MANAGER_H = source.ENG_MANAGER_H,
target.ENG_PARTNER_H = source.ENG_PARTNER_H,
target.CRM_USER_STATUS = source.CRM_USER_STATUS,
target.SALES_STAGE = source.SALES_STAGE,
target.ACTUAL_PERIOD = source.ACTUAL_PERIOD
WHEN NOT MATCHED THEN
INSERT (
OPPORTUNITY,
TAETIGKEITSART_I,
SUB_SOLUTION,
ENG_PARTNER_I,
ENG_MANAGER_I,
PROFIT_CENTER_I,
SOLUTION_SERVICE,
CREATED_AT,
STARTDATE,
EXPECTED_END,
PROFIT_CENTER_H,
KPMG_REGION,
ENG_MANAGER_H,
ENG_PARTNER_H,
CRM_USER_STATUS,
SALES_STAGE,
ACTUAL_PERIOD
) VALUES (
source.OPPORTUNITY,
source.TAETIGKEITSART_I,
source.SUB_SOLUTION,
source.ENG_PARTNER_I,
source.ENG_MANAGER_I,
source.PROFIT_CENTER_I,
source.SOLUTION_SERVICE,
source.CREATED_AT,
source.STARTDATE,
source.EXPECTED_END,
source.PROFIT_CENTER_H,
source.KPMG_REGION,
source.ENG_MANAGER_H,
source.ENG_PARTNER_H,
source.CRM_USER_STATUS,
source.SALES_STAGE,
source.ACTUAL_PERIOD
);