• 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