我是制作etl包的新手,我正在学习探索visual studio中的软件包。 我被赋予了一个任务,涉及从合并语句中获取ETL中的当前逻辑并重新设计ETL以具有正常的初始和增量加载路径。我在互联网上搜索得足够多,却找不到合适的答案。请指导我如何处理。
通过删除所有属性并仅保留3来理解目的,粘贴下面的Merge查询。 如何摆脱这种合并并使用INIT和INCR Load(我想在数据流中添加)。 如果缺少任何进一步的细节或信息,请告诉我。如果这是一个菜鸟问题,请犹豫不决。
Merge语句的格式为:
MERGE INTO <DestTableName> AS DIM
USING (
SELECT
Cast(EF.Form_PK as nvarchar(50)) FormSourceId
,EF.FormName
,CASE WHEN EF.FormStatus = 1 THEN N'Active' ELSE N'Inactive' END FormStatus
FROM <Tables and Joins>
) AS SRC
ON SRC.FormSourceID = DIM.FormSourceID
WHEN MATCHED And (
Coalesce(SRC.FormName, '') <> Coalesce(DIM.FormName, '')
OR Coalesce(SRC.FormStatus, '') <> Coalesce(DIM.FormStatus, '')
)
THEN
UPDATE SET
DIM.FormName = SRC.FormName
,DIM.FormStatus = SRC.FormStatus
WHEN NOT MATCHED BY TARGET THEN
INSERT (
FormSourceId
,FormName
,FormStatus
)
VALUES (
SRC.FormSourceId
,SRC.FormName
,SRC.FormStatus
)
WHEN NOT MATCHED BY SOURCE AND DimEvaluationId <> -1 THEN
DELETE;