Hallo zusammen.
Ich stehe vor einem Problem mit einem Trigger, den ich gern einsetzen würde. Bzw. ist mir eigentlich egal ob es ein Trigger oder eine Procedure macht.
Szenario:
Tabelle Preis / Felder Preisgruppe, ArtikelID, Preis, Pseudopreis
Die Tabelle hat für jede ArtikelID drei Zeilen mit jeweils unterschiedlicher Preisgruppe
Ziel:
Ich möchte einen Trigger (o.ä.) der mir beim Update einer Zeile aus Preisgruppe X den dortigen Preis in eine andere Zeile der Tabelle mit Preisgruppe Y in das Feld Peudopreis schreibt (beide mit identischer ArtikelID).
Versucht habe ich soetwas als Trigger auf Tabelle Preis:
Lässt sich zwar speichern, aber bei einem Update kommt das der mySQL Fehler 14442 - ist verboten.
Ich habe keine Ahnung wie ich dieses Szenario abseits dieser Beschränkung umsetzen soll. (Ohne z.b. ein PHP Skript zu programmieren, dass zeitgesteuert immer wieder über die Tabelle läuft und diese Änderungen vornimmt. Mit einer Stored Procedure die als Parameter die ArtikelID und den neuen Preis annimmt, klappt es ebenso nicht.
Jemand eine elegante Idee?
Grüße
masterd
Ich stehe vor einem Problem mit einem Trigger, den ich gern einsetzen würde. Bzw. ist mir eigentlich egal ob es ein Trigger oder eine Procedure macht.
Szenario:
Tabelle Preis / Felder Preisgruppe, ArtikelID, Preis, Pseudopreis
Die Tabelle hat für jede ArtikelID drei Zeilen mit jeweils unterschiedlicher Preisgruppe
Ziel:
Ich möchte einen Trigger (o.ä.) der mir beim Update einer Zeile aus Preisgruppe X den dortigen Preis in eine andere Zeile der Tabelle mit Preisgruppe Y in das Feld Peudopreis schreibt (beide mit identischer ArtikelID).
Versucht habe ich soetwas als Trigger auf Tabelle Preis:
SQL:
FOR EACH ROW BEGIN
IF NEW.preisgruppe = "RM" AND OLD.preis <> NEW.preis THEN
UPDATE PREISE p SET p.pseudopreis = NEW.preis
WHERE artikelID =OLD.artikelID
AND preisgruppe = "H";
END IF;
END
Ich habe keine Ahnung wie ich dieses Szenario abseits dieser Beschränkung umsetzen soll. (Ohne z.b. ein PHP Skript zu programmieren, dass zeitgesteuert immer wieder über die Tabelle läuft und diese Änderungen vornimmt. Mit einer Stored Procedure die als Parameter die ArtikelID und den neuen Preis annimmt, klappt es ebenso nicht.
Jemand eine elegante Idee?
Grüße
masterd
Zuletzt bearbeitet: