Ignorieren eines Insert mit einem Trigger

Ich habe eine database mit drei Tabellen User (UserID, Vorname, LastName), Filme (MovieID, MovieName) und UserMovies (MovieID, UserID). Ich habe auch einen Trigger in der User-Tabelle, die ich gern nach After Insert laufen lassen möchte, ob die bereitgestellte UserID bereits vorhanden ist. Wenn die mitgelieferte UserID in der Tabelle existiert, wie gehe ich dran, das Insert zu ignorieren, das den Trigger ausgetriggers hat und die Manipulation der Movies-Tabelle (mein nächster INSERT-Befehl) begonnen hat? Ich habe mit RETURN versucht

falls vorhanden (select insert.userID FROM eingefügt)
Rückkehr

aber das geht nicht für mich Vielen Dank.

Wenn du die dataeinfügung auf einer bestimmten Bedingung einschränken möchtest, solltest du es im before trigger . Hier sehen Sie, ob die user_id bereits vorhanden ist. Wenn dies der Fall ist, können Sie das Einfügen dieser data in Ihre Tabelle einschränken, indem Sie die Transaktion zurücksetzen.

Heben Sie eine exception in Ihrer Triggerfunktion an.

 RAISERROR ('Error Text', 11, 1); 

Ich weiß nicht von einer anderen Möglichkeit, einen Insert in eine Triggerfunktion zu ignorieren. Da die function durch einen INSERT-Befehl ausgetriggers wurde, sollte das INSERT entweder passieren oder ein Fehler auftreten.

Eine andere Möglichkeit, dies zu tun, wäre, eine gespeicherte Prozedur zu schreiben, die nach Ihrem Zustand prüft, bevor sie das INSERT versucht.