
Hi,
Im migrating procedures from oracle to MySql.In that procedure records are not inserted into main table from temp table.But im getting msg as "inserted successfully".What could be the reason for that.Can you plz help me with this issue.
My Code:
BEGIN
select concat('Inserting into SD_CHANGE table');
insert into SDCHANGE(CHANGEID,MODIFIEDDATE,PLANSTARTDATE,PLANENDDATE,ACTUALENDDATE,ACTUALSTARTDATE,APPROVALSTATUSID,ASSIGNEDTOID,CHANGEOWNER_ID,
CLOSURECODEID,CREATEDATE,CREATEDBYID,DESCRIPTION,ENHANCEMENTAUDIT,HOSTID,IMPACT,SEVERITYID,PRODUCTCTIID,
OPERATIONALCTIID,RAISEDLOCATIONID,STATUSID,SLAID,SUMMARY,CHANGEKEY,HISFLAG,USERSAFFECTED,ASRC,FLAG,ACREATIONTIME,TICKETTYPEID)
values(vCHANGEID,vMODIFIEDDATE,vPLANSTARTDATE,vPLANENDDATE,vACTUALENDDATE,vACTUALSTARTDATE,vAPPROVALSTATUSID,vASSIGNEDTOID,vCHANGEOWNER_ID,
vCLOSURECODEID,vCREATEDATE,vCREATEDBYID,vDESCRIPTION,vENHANCEMENTAUDIT,vHOSTID,vIMPACT,vSEVERITYID,vPRODUCTCTI_ID,
vOPERATIONALCTIID,vRAISEDLOCATIONID,vSTATUSID,vSLAID,vSUMMARY,vCHANGEKEY,this,vUSERSAFFECTED,vASRC,'N',CURRENTTIMESTAMP,vTICKETTYPEID);
SELECT CONCAT('Inserted Successfully 1 ',vchangeid) as "Result";
COMMIT;
UPDATE SDCHANGETMP SET FLAG = 'Y' WHERE CHANGEID = vCHANGEID AND MODIFIEDDATE = vMODIFIEDDATE;
IF duplicate_key=1 then
begin
select CONCAT('Rejected id and last mod time ',vchangeid, vmodifieddate);
UPDATE SDCHANGETMP SET FLAG = 'D' WHERE CHANGEID = vCHANGEID AND MODIFIEDDATE = vMODIFIEDDATE;
end;
else
SELECT CONCAT('Inserted Successfully 2 ',vchangeid) as "Result";
END IF;
SET duplicate_key=0;
END;
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.