我有以下触发器,我想在多个表中使用。那么,我怎么能让它工作而不是每个表有一个触发器?
BEGIN
IF (TG_OP = 'UPDATE') THEN
UPDATE test_table set rel_label = (select SUBSTR(release, 1, 5)) where uid=OLD.uid;
RETURN OLD;
ELSIF (TG_OP = 'INSERT') THEN
UPDATE test_table set rel_label = (select SUBSTR(release, 1, 5)) where uid=OLD.uid;
RETURN NEW;
END IF;
RETURN NULL; -- result ignored since is an AFTER TRIGGER
END;
问候。
答案 0 :(得分:0)
请参阅EXECUTE命令的文档。
答案 1 :(得分:0)
刚刚想出了一个直接的解决方案。
BEGIN
IF (TG_OP = 'INSERT') THEN
NEW.rel_label = (select SUBSTR(NEW.release, 1, 5));
RETURN NEW;
ELSIF (TG_OP = 'UPDATE') THEN
NEW.rel_label = (select SUBSTR(NEW.release, 1, 5));
RETURN NEW;
END IF;
RETURN NULL;
END;