MySQL: gezielt Exceptions auslösen
Tom
- datenbank
Hello,
ich wage es nach einiger Wartezeit nochmal, danach zu fragen, ob inzwischen jemand weiß, wei man in einem Trigger gezielt eine Exception auslösen kann, damit die weitere Abarbeitung _mit_ _qualifizierter_ _Fehlermeldung_ abgebrochen werden kann.
Mein Beispiel hierzu ist immer gerne wieder:
in einer Tabelle soll ein Zähler mit jedem Update
heraufgezählt werden
Wenn der mitgelieferte Referenzwert vom momentan eingetragenen
abweicht, oder kein referenzwert mitgeliefert wird, soll der
Vorgang des Updates mit einer Fehlermeldung abgebrochen werden.
Das geht zwar auf schmuddelige Weise ganz prima, indem man innerhalb des Triggers dann frecherweise auf eine nicht vorhandene Spalte zugreift, aber zweitesn ist nicht gesichert, dass das auch in Zukunft so bleibt und drittens fehlt eben die qualifizierte Fehlermeldung.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Hello,
siehe auch Posting von Vinzenz:
https://forum.selfhtml.org/?t=160459&m=1043666
Ich habe nun nochmal einen ganzen Tag googled und etliche ähnliche Fragestellungen zu dem Thema gefunden. Erstaunlich ist, dass einige ziemlich gleichlautende Anforderungen sich sogar seit Anfang 2005 (Zweitausenundfünf) im MySQL-eigenen Forum befinden.
Da andere DBMS diese Standardanforserung an Trigger leisten, versthe ich nicht, dass MySQL das bis heute nicht eingebaut hat. Der Trigger ist ohne gezielte Exception nur 1/10 soviel wert!
Wie kann man denen denn nochmals höflich aber bestimmt auf die Füße treten deshalb? Ich will ja nicht gleich wieder unangenehm auffallen ;-)
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Ich grüsse den Cosmos,
Wie kann man denen denn nochmals höflich aber bestimmt auf die Füße treten deshalb? Ich will ja nicht gleich wieder unangenehm auffallen ;-)
Du könntest Mysql patchen und diesen Patch einreichen. Alternativ kannst du auf eine andere Datenbanksoftware umsteigen, die dein gewünschtes Feature bietet. Allerdings musst du damit rechnen, dass du dann diese Datenbanksoftware einiges an Geriebenen kostet.
Kurz, wer etwas kostenlos nutzt, kann IMO Vorschläge machen hat aber keinerlei rechte, Forderungen zu stellen. ;)
Möge das "Self" mit euch sein
Hello,
Du könntest Mysql patchen und diesen Patch einreichen. Alternativ kannst du auf eine andere Datenbanksoftware umsteigen, die dein gewünschtes Feature bietet. Allerdings musst du damit rechnen, dass du dann diese Datenbanksoftware einiges an Geriebenen kostet.
Kurz, wer etwas kostenlos nutzt, kann IMO Vorschläge machen hat aber keinerlei rechte, Forderungen zu stellen. ;)
Nun denn, ich selber habe noch eine Informix-Lizenz laufen.
Da habe ich zwar momentan Schwierigkeiten, die API für PHP 5.x zum Laufen zu bekommen, aber das wird so langsam.
Viele meiner DV-Kunden haben bei MySQL bereits gelöhnt. Gelegentlich rechnet sich das für sie auch, weil sie Updates schneller bekommen und es teilweise sogar deutsche Datenblätter zu den (neuen, verbesserten, bereinigten) Features auf Papier gibt.
Daher weiß ich ja auch, dass im MySQL Customer-Forum das Thema schon seit 2005 bekannt ist.
Die Nachfrage aus dem "public market" scheint aber überhautpt noch nicht zu bestehen...
Ich kann nicht mit dem Zugangscode eines Kunden drängeln gehen. Es muss auch andere Wege geben.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Ich grüsse den Cosmos,
Es muss auch andere Wege geben.
Ja, du zahlst dir nen Programmierer, damit er dir die entsprechende Änderung macht ;)
Ich seh das ähnlich, wie bei Openoffice, wo ich schon ewig drauf warte, damit man in der Bearbeitungsansicht mehrere Seiten nebeneinander Darstellen kann.
Entweder mach ichs mir selber (spart euch die dummen Sprüche ;)) oder ich warte, bis sich jemand dran setzt und es implementiert.
Eine andere Lösung fällt mir zu diesem Thema im Allgemeinen nichtein.
Möge das "Self" mit euch sein
Hello,
Ja, du zahlst dir nen Programmierer, damit er dir die entsprechende Änderung macht ;)
In MySQL würde ich selber nichts ändern mögen.
Und außerdem ist mir nicht klar, ob der resultierende Code dann überhaupt noch geschäftlich nutzbar wäre, also lizenzrechtlich...
Solch eine Änderung würde schon einiges kosten, sodass man die Lösung dann "großtechnisch" am Markt anbieten müsste, um die Kosten wieder einzuspielen. Ob MySQL das mitmacht?
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Ich grüsse den Cosmos,
Ob MySQL das mitmacht?
Das dürfte von der Lizenz abhängen, die ich aber im Detail nicht kenne.
Wenn es was in der Art der LGPL ist, sollte es kein Problem sein, eine Erweiterung zu schreiben und die zu verkaufen.
Möge das "Self" mit euch sein