gpt4 book ai didi

sql - PostgreSQL:运算符不存在:没有时区的时间戳==没有时区的时间戳

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

我在下面创建了触发器和函数来更新函数,当“frm”和“upto”两列的更新类型为“timestamp without time zone”时,我想排除触发器的执行

在触发器函数中,我正在检查这两列的更新

CREATE OR REPLACE FUNCTION ff() RETURNS TRIGGER AS $$
BEGIN
if((old."frm" == New."frm") and (old."upto" == New."upto") ) then
insert into TG_TABLE_NAME (select * from inserted );
New."from" := old."from";
NEW."upto" := current_timestamp;
RETURN NEW;
END IF;
RETURN NULL;
END $$ LANGUAGE plpgsql;

create trigger update_trig2 after update on dd
for each row execute procedure ff();`

运行更新查询后,我在 postgreSQL 中遇到以下错误

ERROR: operator does not exist: timestamp without time zone == timestamp without time zone

最佳答案

比较运算符在SQL和PL/pgSQL中是=

因此需要将==替换为=

关于sql - PostgreSQL:运算符不存在:没有时区的时间戳==没有时区的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40202367/

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