Sie können jedes Feld explizit übergeben:
CALL logChanges(OLD.colA, OLD.colB, NEW.colA, NEW.colB);
Oder wenn logChanges
ausreichend generisch sein muss, um solche Aufrufe aus verschiedenen Tabellen verarbeiten zu können, könnte man die Feldwerte mit einem geeigneten Trennzeichen zu einem einzigen String verketten (z. B. das Einheitentrennzeichen
):
CALL logChanges(CONCAT_WS(CHAR(31), OLD.colA, old.colB),
CONCAT_WS(CHAR(31), NEW.colA, NEW.colB));
Oder wenn Datentypen erhalten bleiben müssen, könnte man die Datensätze in ein temporäres einfügen, aus dem logChanges
liest.