gpt4 book ai didi

PostgreSQL:如何获取以前的插入时间戳

转载 作者:行者123 更新时间:2023-11-29 11:40:53 28 4
gpt4 key购买 nike

假设我有一张 table

create table foo (
insert_current timestamp default now(),
insert_previous timestamp,
bar int primary key,
baz varchar(10)
);

当新批处理到达时,数据将不时被替换。我想跟踪上一批插入的时间以及当前时间戳。执行此操作的好方法是什么?

最佳答案

我会创建一个触发器,自动在 UPDATE 语句上设置 insert_current 和 insert_previous。

首先,创建触发器函数:

CREATE OR REPLACE FUNCTION do_update() RETURNS "trigger"
AS $$
BEGIN
NEW.insert_previous := OLD.insert_current;
NEW.insert_current := NOW();
return NEW;
END;
$$
LANGUAGE plpgsql;

然后将触发器添加到您的表中:

CREATE TRIGGER do_update
BEFORE UPDATE ON foo
FOR EACH ROW
EXECUTE PROCEDURE do_update();

关于PostgreSQL:如何获取以前的插入时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10731211/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com