Aide Comprendre le tableau SQL Server inséré et supprimé

Si a exécutez une INSERT INTO qui triggers un triggersur INSERT AFTER . Quel tableau / rangée (s) les objects insérés et supprimés représentent-ils dans le triggersur? Par exemple,

 INSERT INTO Person.person (personID, name) VALUES (1, 'robert') CREATE TRIGGER myTrigger ON Person.person AFTER INSERT AS BEGIN insert into Person.PersonMovies (personID, movieID) select inserted.personID from inserted _--i know the code is incomplete, but i'm curious only about the inserted part._ END 

Je suis confus quant à quels dossiers sont détenus par la table insérée. Serait-ce les loggings de l'instruction insert qui ont déclenché le sortinggger ou la table Person.PersonMovies?

Oui, les tables insérées / supprimées donnent à votre code de triggersment l'access aux loggings modifiés par l'instruction qui a provoqué (déclenché) le triggersur. Souvenez-vous également que vos instructions peuvent avoir affecté plusieurs lignes, de sorte que vos tables supprimées ou insérées peuvent contenir plusieurs loggings.

Les lignes des pseudotables inserted et deleted sont basées sur la table définie dans votre clause ON .

La table Insérée contient les lignes de l'instruction Insert d'origine qui a déclenché le triggersment.

Voir aussi cet article MSDN .

Les pseudotables insérés et supprimés contiennent un logging pour chaque ligne de la table qui a été créée ou supprimée par l'instruction qui a déclenché le triggersur. Pour une mise à jour, la table supprimée contient l'ancienne version des loggings et la table insérée contient la nouvelle. Le schéma des pseudotables correspond à la table réelle.