Unique Constraint Issue in Oracle while inserting Data
In this Scenario, I have to insert data onto an Oracle DB. Before that one I’m performing a Left Outer join and separating the data (for Update and Insert) by using router. In Insert snap I have to insert all the data ,before that one Need to check whether the data is matching with Target table / not . If yes ignore those records if not then perform insert . This was the whole logic .
I have to take data columns from mapper and check the columns with oracle target table if data is already exists/not. But, Unfortunately It was troughing errors.
INSERT INTO Schema.tablename (DEST,FROM_D,INSRT_BY,INSRT_DT,LVL,TO_D,UPDT_DT) VALUES (‘“+$DEST+”’,‘“+$FROM_D+”’,‘“+$INSRT_BY+”’,‘“+$INSRT_DT+”’,‘“+$LVL+”’,‘“+$TO_D+”’,‘“+$UPDT_DT+”’) WHERE (DEST<>‘“+$DEST +”’ AND LVL<>‘“+$LVL +”’)
Where condition columns are Primary Keys to the table.
DEST,FROM_D,INSRT_BY,INSRT_DT,LVL,TO_D,UPDT_DT ---- Table columns
‘“+$DEST+”’,‘“+$FROM_D+”’,‘“+$INSRT_BY+”’,‘“+$INSRT_DT+”’,‘“+$LVL+”’,‘“+$TO_D+”’,‘“+$UPDT_DT+”’ ---- Mapper columns/Data
I think Experts will find a best solution for this issue.
@bojanvelevski @del @AleksandarAngelevski @Spiro_Taleski
Please help on this issue.
Solved this scenario in a different way.
Insert handled by using inner join.
For Update
Here I have to update 2 columns($status, $ID) based on 6 key columns matching data.
So, I have read the target table as reference table($col_Ref) and regular/new data as left side data and performing an inner join based on 6 key columns.
There I found the matching data.
I put 1 filter to sort $status=“Active”
I just mapped 2 ($status hardcoded as “INACTIVE” I have to update the $status column if $stat=“Active”, $ID taken from filter ) columns which I want to update in the Target Table.Finally in Oracle Update snap mentioned Schema and table name.
In where clause $Status=“Active”.
This was one of the ways that I found for resolving this issue.
If we have any other ways to handle this, then it could be helpful.