[我试图使三个整数的总和等于100时布尔值变为true,而总和不等于100则使布尔值变为false。
我正在Postgres中制作一个触发函数来做到这一点,但收到以下错误:
错误:«db_fondos.checksize»不是已知变量第6行:DB_Fondos.CheckSize = true;
希望您能帮助我。代码:
CREATE FUNCTION check_sum()
RETURNS TRIGGER
AS $$
BEGIN
IF DB_Fondos.SizeLarge+DB_Fondos.SizeMid+DB_Fondos.SizeSmall=100 then
DB_Fondos.CheckSize=true;
END IF;
RETURN NEW;
END;
$$
LANGUAGE plpgsql;
为什么不为此简单地使用计算列而不是触发器?数据库在后台为您管理计算,并且在查询表时,您将始终获得最新值:
在触发器中,您使用NEW
而不是表名与新插入的行相关: