Identité de la ligne insérée / mise à jour dans le déclencheur
J'ai le trigger, mais besoin d'un ti trouver l'identité de la ligne donc je n'ai pas de mise à jour de tous les enregistrements de la table. Comment puis-je obtenir de l'identité de la ligne?
BEGIN
UPDATE tb_Division SET LastModified = GetDate() WHERE "id of inserted/updated row"
END
source d'informationauteur Chin
Vous devez vous connecter pour publier un commentaire.
Depuis un déclencheur dans MS SQL Server ne fait pas de distinction entre un seul enregistrement et multi-enregistrement des opérations, vous devriez vous JOINDRE à la table avec le INSÉRÉE pseudo de la table ou de l'utilisation d'une sous-sélection:
id de la colonne de la clé primaire de la table.
Avez-vous regardé l'id de la
inserted
table logique? Vous devez être prudent lors de l'utilisation de déclencheurs, comme un déclencheur fonctionne peut-être sur plusieurs lignes:Voir ici pour plus de détails, et de MSDN:
- Vous l'esprit- un déclencheur pour traiter une tonne de lignes à la fois, vous aurez à prendre en compte!
Vous devez joindre à votre table pour être mis à jour avec les
Inserted
pseudo-colonne d'un champ ID:ou quelque chose comme ça.