创建触发器更新 SQL table
Create trigger update SQL table
我想创建触发器更新 table khohang
和 table Dothan
。
这是我的SQL:
CREATE TRIGGER trigger_update on dathang
AFTER UPDATE AS
BEGIN
UPDATE khohang INNER JOIN dathang on khohang.mahang =dathang.mahang
SET khohang.soluong = khohang.soluong - (SELECT soluong FROM dathang where khohang.mahang = dathang.mahang)
END
触发器在 table 上执行(BEFORE/AFTER 插入、更新、删除)操作时发生,因此触发器在该操作上触发并在相同或不同的 [=17] 上执行某些操作=].
这是 Trigger
的格式
DELIMITER $$
USE `database_name`$$
DROP TRIGGER `Tigger_name`$$
CREATE
TRIGGER `Tigger_name` BEFORE/AFTER INSERT /UPDATE/DELETE ON `Table_1` /* trigger fire from this table*/
FOR EACH ROW BEGIN
/* (query) action perform */
update table_2 set field_1="value" where table_2.id=New.field_1; /*New.field_1 is refrance Table_1.field_1. which record effect by action*/
END;
$$
DELIMITER ;
参考:https://dev.mysql.com/doc/refman/8.0/en/trigger-syntax.html
我想创建触发器更新 table khohang
和 table Dothan
。
这是我的SQL:
CREATE TRIGGER trigger_update on dathang
AFTER UPDATE AS
BEGIN
UPDATE khohang INNER JOIN dathang on khohang.mahang =dathang.mahang
SET khohang.soluong = khohang.soluong - (SELECT soluong FROM dathang where khohang.mahang = dathang.mahang)
END
触发器在 table 上执行(BEFORE/AFTER 插入、更新、删除)操作时发生,因此触发器在该操作上触发并在相同或不同的 [=17] 上执行某些操作=]. 这是 Trigger
的格式DELIMITER $$
USE `database_name`$$
DROP TRIGGER `Tigger_name`$$
CREATE
TRIGGER `Tigger_name` BEFORE/AFTER INSERT /UPDATE/DELETE ON `Table_1` /* trigger fire from this table*/
FOR EACH ROW BEGIN
/* (query) action perform */
update table_2 set field_1="value" where table_2.id=New.field_1; /*New.field_1 is refrance Table_1.field_1. which record effect by action*/
END;
$$
DELIMITER ;
参考:https://dev.mysql.com/doc/refman/8.0/en/trigger-syntax.html