gpt4 book ai didi

PostgreSQL 日期触发器语法错误

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

我是 SQL 的新手,我不知道我在 PostgreSQL 中尝试执行该代码时做错了什么(我在此处添加数字以标记行):

create function annouc_dates()
returns trigger as '
begin
if new.creation_date is NULL then
new.creation_date := select current_timestamp;
end if;
if new.removal_date is NULL then
new.removal_date := select new.creation_date + interval '2 week';
end if;
return new;
end';

我收到一条消息:错误:“2”处或附近的语法错误第 8 行:...emoval_date := new.creation_date + interval '2 week';

谁能帮帮我?

最佳答案

问题涉及嵌套引用。使用 Postgres 美元报价,如 4.1.2.4. Dollar-quoted String Constants. 中所述

create function annouc_dates()
returns trigger language plpgsql as $$
begin
if new.creation_date is NULL then
new.creation_date := current_timestamp;
end if;
if new.removal_date is NULL then
new.removal_date := new.creation_date + interval '2 week';
end if;
return new;
end
$$;

关于PostgreSQL 日期触发器语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49794428/

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