Delete rows in a table based on a table value parameter
Is there a reason this simple correlated delete statement won't do the trick?

DELETE A
FROM TABLE_A A
WHERE NOT EXISTS (
        SELECT *
        FROM TVP_A
        WHERE ID = A.ID
        )