Reputation: 437
I'm trying to use the MERGE statement in the following procedure:
BEGIN
MERGE INTO dm_udm.D_ANOMALY_TYPES_CATEGORY AS DIM
USING (SELECT ID AS ID_ANOMALY_TYPES_CATEGORY
,AnomalyType
,AnomalyCategoryID
,AnomalyTypeDesc
FROM src_udm.AnomalyTypesCategory
)AS STG (
ID_ANOMALY_TYPES_CATEGORY
,DES_ANOMALY_TYPE
,ID_ANOMALY_CATEGORY
,DES_ANOMALY_TYPE_DESC
)
ON DIM.ID_ANOMALY_TYPES_CATEGORY=STG.ID_ANOMALY_TYPES_CATEGORY
WHEN MATCHED
THEN UPDATE SET
DIM.ID_ANOMALY_TYPES_CATEGORY = STG.ID_ANOMALY_TYPES_CATEGORY
,DIM.DES_ANOMALY_TYPE = STG.AnomalyType
,DIM.ID_ANOMALY_CATEGORY = STG.AnomalyCategoryID
,DIM.DES_ANOMALY_TYPE_DESC = STG.AnomalyTypeDesc
WHEN NOT MATCHED BY TARGET
THEN INSERT
(
ID_ANOMALY_TYPES_CATEGORY
,DES_ANOMALY_TYPE
,ID_ANOMALY_CATEGORY
,DES_ANOMALY_TYPE_DESC
)
VALUES
(
STG.ID_ANOMALY_TYPES_CATEGORY
,STG.AnomalyType
,STG.AnomalyCategoryID
,STG.AnomalyTypeDesc
);
END
But I'm receiving the following error after the procedure execution:
Invalid column name 'AnomalyCategoryID'.
Invalid column name 'AnomalyCategoryID'.
Invalid column name 'AnomalyTypeDesc'.
Invalid column name 'AnomalyTypeDesc'.
Invalid column name 'AnomalyType'.
Invalid column name 'AnomalyType'.
It seems that all aliases are correct and I don't understand why I get this errors.
Any ideas on how to solve it? Thanks in advance.
Upvotes: 0
Views: 384
Reputation: 1
The problem is you are using Aliases after AS STG, try the following :
BEGIN
MERGE INTO dm_udm.D_ANOMALY_TYPES_CATEGORY AS DIM
USING (SELECT ID AS ID_ANOMALY_TYPES_CATEGORY
,AnomalyType
,AnomalyCategoryID
,AnomalyTypeDesc
FROM src_udm.AnomalyTypesCategory
)AS STG
ON DIM.ID_ANOMALY_TYPES_CATEGORY=STG.ID_ANOMALY_TYPES_CATEGORY
WHEN MATCHED
THEN UPDATE SET
DIM.ID_ANOMALY_TYPES_CATEGORY = STG.ID_ANOMALY_TYPES_CATEGORY
,DIM.DES_ANOMALY_TYPE = STG.AnomalyType
,DIM.ID_ANOMALY_CATEGORY = STG.AnomalyCategoryID
,DIM.DES_ANOMALY_TYPE_DESC = STG.AnomalyTypeDesc
WHEN NOT MATCHED BY TARGET
THEN INSERT
(
ID_ANOMALY_TYPES_CATEGORY
,DES_ANOMALY_TYPE
,ID_ANOMALY_CATEGORY
,DES_ANOMALY_TYPE_DESC
)
VALUES
(
STG.ID_ANOMALY_TYPES_CATEGORY
,STG.AnomalyType
,STG.AnomalyCategoryID
,STG.AnomalyTypeDesc
);
END
Upvotes: 1