what is wrong in this mload upsert?

Tools
N/A

what is wrong in this mload upsert?


Hi ,

I am getting the following error in the below mentioned mload upsert.
"UTY0805 RDBMS failure, 3538: A MultiLoad UPDATE Statement is Invalid"

I could not find what is wrong in the update statement of mload script.

Please advise---

.LOGTABLE abc.testaxn_lg;
.DATEFORM ANSIDATE;

.LOGON catabc/abc,*****;

.BEGIN IMPORT MLOAD TABLES abc.testaxn1
WORKTABLES
abc.testaxn_WT
ERRORTABLES
abc.testaxn_E1
abc.testaxn_E2

ERRLIMIT 0

SESSIONS 4
SLEEP 5
TENACITY 1
TABLEWAIT 1;

.LAYOUT customer_layout;

.FIELD CONTRACT_ID * VarCHAR(2);

.FIELD CUSTOMER_ID * VARCHAR(2);

.FIELD ASSET_ID * VARCHAR(2);

.FIELD VENDOR_NAME * VARCHAR(18);

.DML LABEL DML_LABEL
Do insert for missing update rows;
UPDATE abc.testaxn1
SET CONTRACT_ID = :CONTRACT_ID,
CUSTOMER_ID = :CUSTOMER_ID,
ASSET_ID = :ASSET_ID,
VENDOR_NAME = :VENDOR_NAME

WHERE CONTRACT_ID = :CONTRACT_ID;

INSERT into abc.testaxn1 (CONTRACT_ID,
CUSTOMER_ID,
ASSET_ID,
VENDOR_NAME)

VALUES (:CONTRACT_ID,
:CUSTOMER_ID,
:ASSET_ID,
:VENDOR_NAME
);

.IMPORT INFILE c:\data3.txt FORMAT VARText ','
LAYOUT customer_layout APPLY DML_LABEL;

.END MLOAD;

.LOGOFF;
1 REPLY
N/A

Re: what is wrong in this mload upsert?

opps!

My mistake, I was using PI in the update satement.

I corrected and it is working fine.