Frank (no reg): M$SQL2005: Delete-Trigger löscht nicht alle Tupel

Beitrag lesen

Hallo,

Irgendwie wird der Trigger von Tab2 scheinbar nur einmal ausgelöst. Nur warum?

Weil es so ist.

Ob du eine "grössere Menge" oder nur einen einzelnen Datensatz aus der Tabelle löschst, der Trigger wird genau _1 Mal_ aufgerufen, er reagiert auf den Event DELETE auf dem Objektlevel Tabelle.

"deleted" ein Recordset, was dann diese Menge beinhaltet

Wenn du also auf Basis der gelöschten Menge in anderen Tabellen löschen möchtest, dann solltest du auch nicht nur einen Wert aus der Menge selektieren (wie in SELECT @mObjektID = ObjektID FROM deleted) sondern evt. mit dem IN Operator arbeiten à la DELETE b WHERE Id IN (SELECT ObjektID FROM deleted).

HTH
Frank