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

MySQL / MariaDB TRIGGER

Khi bạn viết một trình kích hoạt, bạn phải chỉ định một dấu phân cách để mysql thực thi một cách rõ ràng khối kích hoạt của bạn trong dấu phân cách được chỉ định. Nếu dấu phân cách không được cung cấp thì khi nó gặp bất kỳ ; nào trong câu lệnh kích hoạt, nó sẽ cố gắng thực hiện lệnh cho đến khi khối đó và do đó bạn có thể gặp lỗi.

Nếu bạn đang sử dụng bất kỳ công cụ giao diện người dùng nào để tạo trình kích hoạt, bạn có thể kiểm tra xem có tùy chọn nào để đặt dấu phân cách như trong PHPMyadmin hay không.

Trong CLI, trình kích hoạt cần phải có một dấu phân cách và nó sẽ trở thành

delimiter //

create trigger Q_DUR_CALC before insert on TASK_Q_SWH
for each row
begin
 declare LCL_Q_DUR INTEGER;
 set LCL_Q_DUR = new.TQ_TASK_DUR - new.TQ_TASK_RUN_DUR;
 SET new.TQ_Q_DUR = LCL_Q_DUR;   
end;//

delimiter ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách đặt lại mật khẩu gốc trong MySQL 8.0

  2. Mã lỗi:1305. CHỨC NĂNG hoặc THỦ TỤC không tồn tại

  3. Làm cách nào để trích xuất từ ​​thứ n và đếm số lần xuất hiện của từ trong một chuỗi MySQL?

  4. Thời gian xuất dữ liệu MySQL thay đổi

  5. Bản sao liên quan đến SUM, LEFT JOIN và GROUP BY