加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql – 触发器:将已删除的行移动到存档表

发布时间:2020-12-13 16:20:30 所属栏目:百科 来源:网络整理
导读:我的PostgreSQL数据库中有一个称为限制的小(~10行)表,其中值被删除并每天插入. 我想有一个名为restrictions_deleted的表,其中从限制中删除的每一行都将自动存储.由于限制具有序列ID,因此不会重复. 如何在PostgreSQL中编写这样的触发器? 您只需要在删除之前
我的PostgreSQL数据库中有一个称为限制的小(~10行)表,其中值被删除并每天插入.

我想有一个名为restrictions_deleted的表,其中从限制中删除的每一行都将自动存储.由于限制具有序列ID,因此不会重复.

如何在PostgreSQL中编写这样的触发器?

您只需要在删除之前将旧数据移动到restrictions_deleted表中.这是通过 OLD数据类型完成的.您可以使用规则INSERT语句,并使用OLD值作为要插入的值.
CREATE TRIGGER moveDeleted
BEFORE DELETE ON restrictions 
FOR EACH ROW
EXECUTE PROCEDURE moveDeleted();


CREATE FUNCTION moveDeleted() RETURNS trigger AS $$
    BEGIN
       INSERT INTO restrictions_deleted VALUES(OLD.column1,OLD.column2,...);
       RETURN OLD;
    END;
$$LANGUAGE plpgsql;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读