我试图使三个整数的总和等于100时布尔值变为true,而总和不等于100则使布尔值变为false。我在postgre中创建了一个触发器函数来做到这一点,但是得到了以下错误:错误:«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
而不是表名与新插入的行相关: