Puoi passare esplicitamente ogni campo:
CALL logChanges(OLD.colA, OLD.colB, NEW.colA, NEW.colB);
O se logChanges
deve essere sufficientemente generico da poter gestire tali chiamate da tabelle diverse, è possibile concatenare i valori dei campi in un'unica stringa utilizzando un delimitatore appropriato (ad esempio il separatore di unità
):
CALL logChanges(CONCAT_WS(CHAR(31), OLD.colA, old.colB),
CONCAT_WS(CHAR(31), NEW.colA, NEW.colB));
Oppure se i tipi di dati devono essere conservati, si potrebbero inserire i record in un temporaneo da cui logChanges
legge.