Jag tror att det du kan göra är att använda en SAVEPOINT innan du försöker utföra uttalandet som kan orsaka överträdelsen. Om överträdelsen inträffar kan du återgå till SAVEPOINT , men behåll din ursprungliga transaktion.
Här är en annan tråd som kan vara användbar:Fortsätter en transaktion efter ett fel med primärnyckeln