Mon déclencheur est pour une raison quelconque inséré 4 fois, et le dernier est uniquement groupé. Fondamentalement ce que je veux faire est quand l'information est insérée dans ma table tbl_delete_Panel
Je veux regrouper ces données et insérer le groupement dans tbl_delete_panel_Orderin
.SQL Server Insérer le déclencheur en insérant plus d'une fois
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE Trigger[dbo].[deletePanelSQL]
ON [dbo].[tbl_delete_Panel]
AFTER INSERT
AS
BEGIN
/* Insert Summed Quantity for each stud or track into tbl_delete_panel for deletion. tbl_delete_panel trigger will be triggered */
INSERT INTO tbl_delete_panel_Orderin (Part_Name, OrderID, SumOfQTY)
SELECT
tbl_delete_panel.Part_Name, tbl_delete_panel.OrderID,
Sum(tbl_delete_panel.QTY) AS SumOfQTY
FROM
tbl_delete_panel
GROUP BY
tbl_delete_panel.Part_Name, tbl_delete_panel.OrderID;
END;
Vous gardez l'insertion des lignes complètes de 'tbl_delete_panel', chaque fois que ce déclencheur est appelé. Ce que ** vous devez faire ** est la table pseudo 'Inserted' qui * peut et contiendra * plusieurs lignes - et insérer ** les lignes ** (qui ont été nouvellement insérées par l'instruction qui a déclenché le trigger) - pas la ** table entière ** à chaque fois! –