Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Veränderung in der Mysql-Db bemerken udn Mysql-Dump und csv- (https://www.delphipraxis.net/73834-veraenderung-der-mysql-db-bemerken-udn-mysql-dump-und-csv.html)

drschubi 24. Jul 2006 18:13

Datenbank: Mysql • Version: 5 • Zugriff über: Zeos

Veränderung in der Mysql-Db bemerken udn Mysql-Dump und csv-
 
Hallo,
wie bekomme ich mit, daß ein Eintrag in der Datenbank geändert wurde.

Stored Procedures scheinem mir zu kompliziert, mysql.de ist da nicht wirklich eine Hilfe.
Gibt es eigentlich noch eine andere Möglichkeit automatisiert auf eine Veränderung der Datenbank zu reagieren.
Wie macht Ihr das?


Gruß René

mkinzler 24. Jul 2006 18:15

Re: Veränderung in der Mysql-Db bemerken udn Mysql-Dump und
 
Dafür eignen sich Trigger sehr gut. Diese werden bei bestimmten Aktionen ( Z.B. Insert) aufgerufen. In ihnen kann man dann auf die Aktion reagieren bzw. sie verhindern oder nur loggen.

drschubi 24. Jul 2006 18:32

Re: Veränderung in der Mysql-Db bemerken udn Mysql-Dump und
 
Hallo mkinzler,

danke für die Antwort, stimmt es daß Trigger keine Select-Anweisungen zulassen?
Sind sie somit für einen SQL-Dump nicht unbrauchbar?

Wie könnte so ein Trigger ausehen?

Gruß René

mkinzler 24. Jul 2006 18:35

Re: Veränderung in der Mysql-Db bemerken udn Mysql-Dump und
 
Zitat:

danke für die Antwort, stimmt es daß Trigger keine Select-Anweisungen zulassen?
Ja
Zitat:

Sind sie somit für einen SQL-Dump nicht unbrauchbar?
Wenn du damit meinst, das dich interessiert, wer wann was abgefragt hat. Auch ja.
Aber im Allgemeinen interessieren ja auch nur die DML-Statements.

drschubi 24. Jul 2006 18:51

Re: Veränderung in der Mysql-Db bemerken udn Mysql-Dump und
 
Hi mkinzler,

ich erstelle also einen Trigger mit:

SQL-Code:
CREATE TRIGGER con_stat BEFORE update ON aa_shopdata
Dieser Trigger soll dann prüfen ob in der Tabelle aa_shopdata ein Eintrag hinzugefügt wurde.

Wie kan ich nun definieren, daß eine aktion erfolgen soll? Z.Bsp. ein Sql-Dump.


Gruss René

mkinzler 24. Jul 2006 18:56

Re: Veränderung in der Mysql-Db bemerken udn Mysql-Dump und
 
Der Trigger prüft nicht, ob was passiert ist, sondern wird aufgerufen wenn etwas passiert ( ein art Callback).
Das von dir genannte Beispiel wird aufgerufen nach dem ein Update gestartet wurde, bevor es wirksam wird.

drschubi 24. Jul 2006 18:59

Re: Veränderung in der Mysql-Db bemerken udn Mysql-Dump und
 
Ja das ist richtig. Der Trigger prüft ob ein Eintrag upgedatet werden soll.
Ist es auch möglich nur bei bestimmten Feldern zu reagieren?

mkinzler 24. Jul 2006 19:01

Re: Veränderung in der Mysql-Db bemerken udn Mysql-Dump und
 
Jein. der Trigger springt immer beim ereignis an, aber du kannst ja innerhalb des Triggers entscheiden was du machst. Wenn die Werte ok sind, machst du einfach garnichts.

Jelly 24. Jul 2006 19:02

Re: Veränderung in der Mysql-Db bemerken udn Mysql-Dump und
 
Das kannst du im Trigger mittels einer if-Bedingung selber festlegen.

drschubi 24. Jul 2006 19:07

Re: Veränderung in der Mysql-Db bemerken udn Mysql-Dump und
 
Wie sollte dann so ein Trigger aussehen?

Gibt es dazu irgendwo Beispiele, auf mysql.de ist wie gesagt nicht viel zu finden.
Woher habt Ihr denn Euer wissen über Trigger?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:05 Uhr.
Seite 1 von 2  1 2      

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