Du kan uttryckligen skicka varje fält:
CALL logChanges(OLD.colA, OLD.colB, NEW.colA, NEW.colB);
Eller om logChanges
måste vara tillräckligt generisk för att den kan hantera sådana anrop från olika tabeller, kan man sammanfoga fältvärdena till en enda sträng med hjälp av en lämplig avgränsare (t.ex. enhetsseparator
):
CALL logChanges(CONCAT_WS(CHAR(31), OLD.colA, old.colB),
CONCAT_WS(CHAR(31), NEW.colA, NEW.colB));
Eller om datatyper måste bevaras kan man infoga posterna i en temporär från vilken logChanges
läser.