Il s'agit plus d'une question générale, mais la motivation de cette question était un problème que j'ai rencontré lors de l'utilisation de SQL Server.
J'ai ce déclencheur attaché à un événement Insert sur une table qui contient une logique qui, comme effet secondaire, déclencherait une erreur si aucune ligne n'était insérée. Après une enquête plus approfondie, j'ai découvert que la gâchette était en train de tirer malgré qu'aucune rangée n'était insérée.
Le langage utilisé dans Microsoft Docs on DML Triggers semble contredire ce comportement:
Les déclencheurs DML sont un type spécial de procédure stockée qui prend automatiquement effet lorsqu'un événement DML se produit et affecte la table ou la vue définie dans le déclencheur.
S'agit-il d'un comportement par défaut entre les SGBD? Y a-t-il une raison particulière de déclencher un déclencheur lorsqu'aucune ligne n'est affectée?