MySQL - ist Es möglich, zum aufrufen von Funktionen zum ausführen von trigger-Operationen?

In meinem schema habe ich viele Tabellen mit gemeinsamen Felder, die ich ausfüllen muss. Diese sind etwar control-Felder, wie dieses lieben:

id_db_user
date_creation
date_last_update

Habe ich getan, zwei Trigger füllen Sie diese Felder aus:

-- Trigger DDL Statements
delimiter |
CREATE TRIGGER control_insert BEFORE INSERT ON EZT_SOCIETIES

  FOR EACH ROW BEGIN

    SET NEW.id_db_user    = current_user;

    SET NEW.date_creation = current_timestamp;

  END;
| delimiter ;


delimiter |
CREATE TRIGGER control_update BEFORE UPDATE ON EZT_SOCIETIES

  FOR EACH ROW BEGIN

    SET NEW.date_last_update = current_timestamp;

  END;
| delimiter ;

Meine Frage ist: Kann ich die schreiben Sie eine Funktion aufrufen, die Vorgänge im inneren der Auslöser? So etwas wie dieses:

function fn_control_insert
    SET NEW.id_db_user    = current_user;
    SET NEW.date_creation = current_timestamp;

dann rufen Sie diese Funktion in den trigger wie:

delimiter |
CREATE TRIGGER control_insert BEFORE INSERT ON EZT_SOCIETIES

  FOR EACH ROW BEGIN

    call fn_control_insert;

  END;
| delimiter ;

Dies ist möglich, in MySQL?

Beste Grüße,

InformationsquelleAutor André | 2012-06-06
Schreibe einen Kommentar