2017-03-29 3 views
1

Ich habe versucht, einen Trigger zu schreiben, der die Daten nach einem Einfügen aktualisiert.
Ich verwende das Import-Export-Daten-Tool von SQL Server 2016, um meine Daten aus Excel in die Datenbank zu übertragen.
Nach dem Import muss ich ein paar Update-Anweisungen ausführen.
Ich kann meinen Auslöser speichern, aber es aktualisiert keine Daten. Wo ist meine Schuld?SQL-Trigger nach dem Einfügen funktioniert nicht

Trigger:

SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 

ALTER TRIGGER [dbo].[TRG_InsertMappinng] 
    ON [dbo].[T_CCG_MBR2017_Across] 
    AFTER INSERT 
AS 
BEGIN 
    SET NOCOUNT ON; 

    UPDATE [DB_CC_FC_Database_SQL].[dbo].[T_CCG_MBR2017_Across] 
    SET [Colum1] = 'Text1' 
    Where [Colum1] IS NULL 
    AND [Colum2] = 'Text2' 
    AND [Colum3] = 'Text3' 
    AND [Colum4] = 'Text4' 


END 
+0

erledigt diese Abfrage UPDATE [DB_CC_FC_Database_SQL]. [Dbo]. [T_CCG_MBR2017_Across] SET [Colum1] = 'Text1' Wo [Colum1] NULL UND [Colum2] = 'Text2' AND [Colum3] 'Text3' = AND [Colum4] = 'Text4' etwas tun, wenn außerhalb Trigger verwendet? – Whencesoever

+0

Ja, es funktioniert, wenn ich es ohne den Auslöser laufen lasse! – Leo

+0

Wählen Sie alle eingefügten Wert in einer Variablen und dann Update IT.wie das für Sie funktioniert –

Antwort

1

Wie geschrieben here, th SQL Import Export Data Tool keine Trigger nicht ausgelöst. Sie können weitere Informationen dazu finden here.

1

Wenn Ihr Code außerhalb des Trigger arbeiten, aber nicht innerhalb des Triggers, könnte es nur sein, dass der Auslöser deaktiviert ist. Versuchen Sie es zu aktivieren und führen Sie es erneut zum Testen aus.

ENABLE TRIGGER [dbo].[TRG_InsertMappinng] 
    ON [dbo].[T_CCG_MBR2017_Across]; 
+0

Danke, aber es hat nichts geändert. Scheint so, als würde der Datenimport nicht als Beilage zählen. – Leo

+0

Ich habe gerade eine einfache insert-Anweisung verwendet und der Trigger funktioniert perfekt. Es funktioniert einfach nicht mit dem Datenimport-Tool ... – Leo

Verwandte Themen