Using the conditional split is a good start.
Route the insert rows to an OLE DB Destination and write them directly into the destination talbe (make sure to use the fast load option).
Write the deletes and updates to a staging table or a temporary table (if you want to use a temp table, let me know, it requires additional explanation).
In the control flow, use an Execute SQL Task to update/delete your destination table using the following SQL:
-- deletes
DELETE FROM MyTable
FROM MyTable m
INNER JOIN MyStagingTable s ON m.ID = s.ID
WHERE s.ReasonID = 3;
-- updates
UPDATE m
SET col1 = s.col1
,col2 = s.col2
...
,coln = s.coln
FROM MyTable m
INNER JOIN MyStagingTable s ON m.ID = s.ID
WHERE s.ReasonID = 2;
Need an answer? No, you need a question
My blog at https://sqlkover.com.
MCSE Business Intelligence - Microsoft Data Platform MVP