Puede pasar explícitamente cada campo:
CALL logChanges(OLD.colA, OLD.colB, NEW.colA, NEW.colB);
O si logChanges
debe ser lo suficientemente genérica para que pueda manejar este tipo de llamadas desde diferentes tablas, uno podría concatenar los valores de campo en una sola cadena usando un delimitador adecuado (por ejemplo, el separador de unidades
):
CALL logChanges(CONCAT_WS(CHAR(31), OLD.colA, old.colB),
CONCAT_WS(CHAR(31), NEW.colA, NEW.colB));
O si se deben conservar los tipos de datos, se podrían insertar los registros en un registro temporal desde el cual logChanges
lee.