Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Có thể chuyển các bảng MỚI và CŨ từ một trình kích hoạt vào một thủ tục trong MySQL không?

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để thực hiện chèn và tải lên nhiều hình ảnh trong PHP?

  2. Lỗi MySQL 1093 - Không thể chỉ định bảng đích để cập nhật trong mệnh đề FROM

  3. Thiết kế cơ sở dữ liệu MySQL cho một danh sách các dịch vụ

  4. PHP Mysql PDO:Lỗi chung:Máy chủ MySQL 2006 đã biến mất

  5. Hình ảnh dưới dạng liên kết trong cơ sở dữ liệu MySQL?