我做了一个触发器:
delimiter |
CREATE TRIGGER update_table2 after UPDATE ON table1
FOR EACH ROW
BEGIN
//here goes an update action
END |
delimiter ;
现在我想要这个触发器也是:after DELETE ON table1
我试过这样:
delimiter |
CREATE TRIGGER update_table2 after UPDATE or DELETE ON table1
FOR EACH ROW
BEGIN
//here goes an update action
END |
delimiter ;
但这不起作用。我知道我可以创建一个特定的触发器,但为了易读,我想用这种方式。 希望mySql支持这个。
答案 0 :(得分:0)
您必须创建两个触发器:( OR
子句用于T-SQL和其他)
但是为了避免将来的维护问题,您可以从两个触发器调用存储过程:
delimiter |
CREATE TRIGGER update_table2 after UPDATE ON table1
FOR EACH ROW
BEGIN
//here goes an update action
call sp_trigger_table1([params]);
END |
delimiter ;
delimiter |
CREATE TRIGGER update_table2 after DELETE ON table1
FOR EACH ROW
BEGIN
//here goes an DELETE action
call sp_trigger_table1([params]);
END |
delimiter ;