Bạn có thể chuyển từng trường một cách rõ ràng:
CALL logChanges(OLD.colA, OLD.colB, NEW.colA, NEW.colB);
Hoặc nếu logChanges
phải đủ chung chung để nó có thể xử lý các lệnh gọi như vậy từ các bảng khác nhau, người ta có thể nối các giá trị trường thành một chuỗi duy nhất bằng cách sử dụng dấu phân tách phù hợp (ví dụ: dấu phân cách đơn vị
):
CALL logChanges(CONCAT_WS(CHAR(31), OLD.colA, old.colB),
CONCAT_WS(CHAR(31), NEW.colA, NEW.colB));
Hoặc nếu các kiểu dữ liệu phải được bảo toàn, người ta có thể chèn các bản ghi vào một tệp tạm thời mà từ đó logChanges
đọc.