gpt4 book ai didi

postgresql - postgreSQL 中的触发函数?

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

我正在尝试制作一个触发器函数,该函数将检查在插入/更新事件日期记录时信息是否有效:

create or replace function trigf() returns trigger as $$
declare bad_date record;
begin
select festival.title into bad_date
from festival
where new.title = festival.title and (new.edate < festival.sdate or new.edate > festival.edate);

if exists bad_date then
raise notice 'Error: Event Date does not Correlate with the Festival.';
if T = 'insert' then return null;
else return old;
end if;
else
return new;
end if;
end;
$$language plpgsql;

create trigger T
before insert or update on event
for each row
execute procedure trigf();

编译顺利通过,但在尝试插入值时出现错误,指出 bad_date 不存在。

最佳答案

代替:

declare bad_date record;

if exists bad_date then

应该是:

declare bad_date text; -- or same type of festival.title 

if bad_date IS NOT NULL then

关于postgresql - postgreSQL 中的触发函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40773740/

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