Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi MS-SQL Trigger ruft externes Programm auf (https://www.delphipraxis.net/141342-ms-sql-trigger-ruft-externes-programm-auf.html)

Digielm 7. Okt 2009 12:08

Datenbank: MS-SQL • Version: 2005 • Zugriff über: ADO

MS-SQL Trigger ruft externes Programm auf
 
Hallo an alle,

eine Frage habe ich zu einem Triggergesteuerten Event.
Ich habe einen Trigger der auf Update und Insert reagiert.
Folgende Frage stellt sich mir dabei, wenn ich eine Massenänderung mache wird der Tigger bei jeder Änderung ausgeführt. Dies macht folgendes Problem, da ich innerhalb des Triggers ein externes Programm starte. Bei einer Massenänderung von z.B. 300.000 Datensätzen würde das externe Programm genauso oft aufgerufen.
Wie könnte ich sowas unterbinden ?

tsteinmaurer 7. Okt 2009 12:25

Re: MS-SQL Trigger ruft externes Programm auf
 
Hallo,

MSSQL hat keine Row-level sondern Statement-level Trigger. D.h., angenommen ein Update-Statement aktualisiert 300.000 Datensätze, dann wird in MSSQL dieser Trigger nur einmal aufgerufen, da es sich um einen Statement-level Trigger handelt.

Firebird, InterBase z.B. haben Row-Level Trigger, d.h. hier würde der Trigger tatsächlich 300.000 feuern. Oracle unterstützt z.B. beide Triggerarten.

mkinzler 7. Okt 2009 13:40

Re: MS-SQL Trigger ruft externes Programm auf
 
Man könnte den Trigger temporär disablen.
Im Allgemeinen würde ich versuchen, die Laufzeit der Trigger-Prozedur zu minimieren


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz