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

时间:2016-10-23 11:25:02

标签: sql postgresql datetime

我创建了下面的触发器和函数更新函数,我想在两列'frm'和'upto'上更新时排除触发器执行,这些列的类型为“没有时区的时间戳”

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

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中遇到错误

  

错误:运算符不存在:没有时区的时间戳==没有时区的时间戳

1 个答案:

答案 0 :(得分:4)

SQL和PL / pgSQL中的比较运算符为=

因此,您需要将==替换为=