J'ai été googlé à propos de mon problème, mais je n'ai rien trouvé de pertinent.Insertion en bloc avec select et procédure - SQL Server
J'exécute une insertion en bloc avec l'indicateur FIRE_TRIGGERS activé. Donc, j'ai besoin de passer chaque ligne de mon insert en vrac à une procédure. Lorsque j'exécute une insertion ligne par ligne, mes déclencheurs fonctionnent correctement mais lorsque j'exécute une insertion en bloc mes déclencheurs ne fonctionnent pas.
Mon code de déclenchement:
ALTER TRIGGER [dbo].[tgSetDetails]
ON [PORTALSQLDB].[dbo].[BurnTimeRawData]
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @ServiceTag varchar(10);
DECLARE @Platform varchar(50);
SELECT
@ServiceTag = ServiceTag,
@Platform = Platform
FROM
inserted
EXEC spBurnTimeInsertData @ServiceTag, @Platform
END
Toute idée comment je peux faire ce travail?
Merci :)
Quelqu'un a posé la question ici, pas sûr si la réponse est pertinente? https://stackoverflow.com/questions/17759718/bulk-insert-with-fire-triggers-not-execute-the-trigger Votre déclencheur ne peut gérer qu'un enregistrement, pas tous en même temps, donc cela pourrait être le problème. – Leonidas199x
@ Leonidas199x ok, je sais que le déclencheur ne peut gérer qu'un seul enregistrement à la fois, ce que je peux faire à ce sujet? –
Écrire une boucle pour le faire sur les données qui ont été insérées après l'insertion en vrac? – Leonidas199x