所以我不熟悉使用过程和触发器,这让我很困惑,我曾经使用过temporal tables
并且想要创建一个插入、更新或删除记录的历史表。
事实上,当我使用这个触发器 sql 时,我已经创建了我的历史表并且工作正常
DROP TRIGGER if exists versioning_trigger on mytable;
CREATE TRIGGER versioning_trigger BEFORE INSERT OR UPDATE OR DELETE ON mytable FOR EACH ROW EXECUTE PROCEDURE versioning('sys_period', 'table_history', true);
这将创建更新或删除行的记录,将旧行记录精确地复制mytable
到table_history
表中并更新记录。mytable
但我想将更新的记录插入mytable
到,table_history
以便它具有所有类型的记录('当前活动记录'和“更新前记录”)。还可以在table_history
执行触发器时插入一些其他字段。
我想问一下
- 如何
CREATE TRIGGER
在 temporal_tables 的一个查询中同时拥有不同的触发事件(BEFORE 或 AFTER)? table_history
是否可以在触发器执行中插入新的字段值?我怎样才能做到这一点?