2016-10-27 4 views
-1

Ich habe zwei Tabellen in einer Datenbank SQL-Server 2016. Wenn ich die erste Tabelle aktualisieren, die zweiten automatisch aktualisiert wird, aber es gibt keinen Abzug. Um sicher zu gehen, habe ich einen Auslöser wie-Trigger mit SQL Server

ALTER TRIGGER [dbo].[table1_u] 
ON [dbo].[table1] 
FOR UPDATE 
AS 
BEGIN 
print 'empty trigger' 
END 

Also, wenn ich update table1 set col=1 where ... in der Ausgabe ausführen kann ich ‚leer Trigger‘ sehen und die zweite Tabelle ist nach wie vor mit dem Sollwert aktualisiert.


Meine Frage ist: Gibt es etwas, das gebrannt werden kann, ist jedoch kein Auslöser?

Das ist eine Datenbank, die von jemand anderem erstellt wurde. Möglicherweise gibt es einen Auslöser, bevor das Update in der zweiten Tabelle durchgeführt wird, aber wie ich schon erwähnt habe, habe ich nur mit einem Ausdruck ersetzt. Kann das ein Cache-Problem sein?

Vielen Dank im Voraus!

+0

Wenn Sie eine Update-Anweisung haben, die auch eine zweite Tabelle aktualisiert, gibt es einen einfachen und einfachen Trigger. –

+0

Verwenden Sie dies, um Trigger auf Ihrem Tisch zu finden. Wählen Sie * von sys.triggers wo OBJECT_NAME (parent_id) = 'YourTable' –

+0

löschen Sie einfach alle Trigger für die 2 Tabellen und führen Sie aus sys.triggers auswählen und nichts bekommen, so gibt es überhaupt keinen Auslöser und immer noch das Problem. Ich werde alle anderen Tabellen löschen und nur die 2 Schuldigen behalten, danke für Ihre Hilfe. – user1877256

Antwort

-1

Überprüfen Sie, ob Sie mehrere Trigger definiert für den gleichen Tisch. Gehen Sie zu Sql-Management-Studio und sehen Sie, ob ein weiterer Auslöser für die gleiche Tabelle für die Aktualisierung definiert ist.

+1

Dies ist wirklich ein Kommentar, keine Antwort. –