Wiem, że jest to już odpowiedź, ale ostatnio zmierzyłem się z tym problemem i wymyśliłem coś, co działa (i działa dobrze wykonując wyszukiwanie singletona dla każdego wstawionego wiersza). Zobacz przykład w tym artykule:http://michaeljswart.com/2011/06/enforcing-business-rules-vs-avoiding-triggers-co-jest-lepsze/
(i nie korzysta z kolumny tożsamości)