Vous pouvez passer explicitement chaque champ :
CALL logChanges(OLD.colA, OLD.colB, NEW.colA, NEW.colB);
Ou si logChanges
doit être suffisamment générique pour pouvoir gérer de tels appels à partir de différentes tables, on pourrait concaténer les valeurs de champ en une seule chaîne en utilisant un délimiteur approprié (par exemple, le séparateur d'unité
):
CALL logChanges(CONCAT_WS(CHAR(31), OLD.colA, old.colB),
CONCAT_WS(CHAR(31), NEW.colA, NEW.colB));
Ou si les types de données doivent être préservés, on peut insérer les enregistrements dans un fichier temporaire à partir duquel logChanges
lit.