Vinzenz Mai: Trigger oder Stored Procedure

Beitrag lesen

Hallo Tom,

Eigentlich sollte der Trigger und ggf. zugehörige Stored Procedure dafür sorgen, dass das Update abgelehnt wird, wenn der übergebene writecounter ungelich dem eingetragenen im Datensatz ist und dann anschließend bei Erfolg diesen um eins erhöhen.
Kann man das bei MySQL auch noch in einem Trigger unterbringen,

Nach meinem Wissensstand: Nein.

oder benötigt man dann eine Stored Procedure

Ja. Und mit einer Stored Procedure - nicht einer Stored Function - solltest Du in der Lage sein, diese Procedure so zu schreiben, dass sie in Deiner DB universell anwendbar ist, siehe Handbuchabschnitt Restrictions on Stored Routines and Triggers:

<zitat>
The following statements are disallowed:

[...]

SQL prepared statements (PREPARE, EXECUTE, DEALLOCATE PREPARE). Implication: You cannot use dynamic SQL within stored routines (where you construct dynamically statements as strings and then execute them). This restriction is lifted as of MySQL 5.0.13 for stored procedures; it still applies to stored functions and triggers.
</zitat>

Freundliche Grüße

Vinzenz