Niveau supérieur J'ai deux tables dont certaines données doivent être mises en miroir. Je ne peux pas passer à travers et changer tout le code pour écrire à la fois, donc je pensais que j'utiliserais un déclencheur SQL pour insérer des données dans la 2ème table chaque fois que des données sont insérées dans le 1er. Voici où je suis coincé:Déclencheur SQL Server lors de l'insertion et comment référencer les données insérées
CREATE TRIGGER new_trigger_INSERT
ON old_table
FOR INSERT
INSERT INTO new_table (id, first_name, last_name)
VALUES() --This is where I'm lost, I need to insert some of the data from the insert that executed this trigger
Toute aide est appréciée, même s'il y a une meilleure façon d'y arriver laissez-moi savoir.
Merci, je ne savais pas que ces tables existaient. Que voulez-vous dire en vous assurant que le déclencheur gère plusieurs lignes? – jon3laze
@ jon3laze: une erreur courante commise par beaucoup de "newbies de déclenchement" est de supposer que le trigger sera déclenché une fois pour chaque ligne insérée - donc ils supposent que la table "Inserted" ne contiendra qu'une seule ligne. Ce n'est pas ainsi que ça fonctionne - si vous insérez un lot de 50 lignes, votre déclencheur INSERT sera déclenché ** une fois ** pour tout le lot, et le tableau "Inséré" contiendra 50 lignes - vous devez être en mesure de faire face à ce scénario –