我有两张桌子和一张桌子。需要为这种情况写一个TRIGGER。
1. Parameters_Table(int pkid,string param_name,string param_value)
2. Tokens_Table(int pkid,字符串项,字符串有效性)
如果Parameters_Table中param_name ='Enterprise'的特定行更改其'param_value',我需要删除Tokens_Table中的所有条目。该值已从UI更改。例如,行< 7,enterprise,60>更改为< 7,enterprise,25>在Parameters_Table中,然后从Tokens_Table中删除所有条目。
我应该如何编写触发器。请指导。 (我需要为Informix数据库编写这个,但是mysql查询也会有帮助)
答案 0 :(得分:1)
DELIMITER $$
CREATE TRIGGER after_update AFTER UPDATE ON Parameters_Table
FOR EACH ROW
BEGIN
IF OLD.param_name ='Enterprise' THEN
IF NEW.param_value != OLD.param_value THEN
DELETE FROM Tokens_Table WHERE pkid = NEW.pkid;
END IF;
END IF;
END$$
试试上面的代码。希望这会有所帮助。
答案 1 :(得分:-1)
您可以尝试以下语法/格式:
DELIMITER $$
CREATE TRIGGER delete_tokens AFTER INSERT ON Parameters_Table
FOR EACH ROW
BEGIN
IF NEW.param_name = 'enterprise' THEN
BEGIN
DELETE FROM Tokens_Table WHERE pkid = NEW.pkid;
END;
END IF;
END$$