簡體   English   中英

使用觸發器根據Postgresql中另一列的年份更新列

[英]Update column based on year of another column in postgresql using a trigger

我正在嘗試創建一個觸發器,以使用同一表的date_of_join(數據類型日期)列的數據更新列提醒(數據類型日期)。 提醒應該是明年1月1日。

我的職能是:

CREATE OR REPLACE FUNCTION update_reminder()
RETURNS TRIGGER AS
$$
BEGIN
NEW."reminder" := make_date(CAST (extract(year from timestamp NEW."date_of_join") AS INTEGER) ,2,3);
RETURN NEW;
END 
$$ LANGUAGE 
plpgsql;

我的觸發器是:

CREATE TRIGGER "Trigger1"
BEFORE INSERT ON faculty
for each row
EXECUTE PROCEDURE update_reminder();

它給我錯誤:“ NEW”或附近的語法錯誤

這個怎么做?

date_trunc可以四舍五入到年初。 那么您可以加1年才能到達次年1月1日:

NEW.reminder := date_trunc('year', NEW.date_of_join) + INTERVAL '1 year';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM