wie, um eine Nachricht anzuzeigen, wenn die Bedingung true ist in mysql 5.0 trigger?
Habe ich einen trigger
DELIMITER $$
DROP TRIGGER IF EXISTS before_insert_on_emp $$
CREATE TRIGGER before_insert_on_emp
BEFORE insert ON empefforts
FOR EACH ROW BEGIN
DECLARE MSG VARCHAR(100);
IF (NEW.TIMING) > 60
THEN
SET MSG='Error: TIMING must be <=60.';
END IF;
END$$
DELIMITER ;
Möchte ich zeigen, die MSG-VARIABLE mit dem Wert auf der Konsole, wenn die Bedingung wahr ist.
Wie kann ich diesen Wert. Ich bin mit mysql 5.0.18 version...
- haben Sie versucht
SELECT MSG;
? - Es gibt keinen normalen Weg, es zu tun in MySql ver < 5.5. Sie können versuchen, einer der hackish Möglichkeiten (Lesen, z.B. stackoverflow.com/q/229765/1920232, stackoverflow.com/q/24/1920232)
- Ja habe ich versucht aber es gibt mir Fehler:Nicht erlaubt return Ergebnismenge, die von einem trigger ausgelöst.
- tut mir Leid mein schlechtes gerade jetzt sah ich, dass es war ein Auslöser... in diesem Fall die einzige Möglichkeit ist das einfügen der Nachricht in einer log-Tabelle
- kann ich nicht drucken auf der Konsole ?
- aus einem trigger finde ich nicht so ... ich weiß, Sie können dies tun, in einer gespeicherten Prozedur
- check meine Antwort, weil ich einen Weg gefunden
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nachdem ich einige der Forschung, fand ich, dass es einen Weg gibt, ... mit SIGNAL wie:
UPDATE: Beispiel des Verfahrens, dass eine Meldung ausgegeben: