我正在尝试制作简单的触发函数(Postgresql),但在所有这些情况下我都收到相同的错误“函数没有返回任何行” (只是简单的示例):
新的:
UPDATE somewhere SET something = something - 1;
RETURN NEW;
Run Code Online (Sandbox Code Playgroud)
老的:
UPDATE somewhere SET something = something - 1;
RETURN OLD;
Run Code Online (Sandbox Code Playgroud)
当我“删除之前”调用此函数时应该返回什么?(“插入/更新后”效果很好)
Tyvm 的提示!
按要求提供完整代码: 功能:
CREATE OR REPLACE FUNCTION pictogram_frequency_on_delete()
RETURNS trigger AS
$BODY$
DECLARE
new_frequency RECORD;
target_unit RECORD;
current_row RECORD;
units_with_same_type RECORD;
what RECORD;
BEGIN
SET search_path TO 'myScheme';
CASE TG_OP
WHEN 'DELETED' THEN what := OLD;
ELSE what:= OLD;
END CASE;
SELECT unit_type_uid INTO STRICT target_unit
FROM unit
WHERE unit_uid = what.unit_uid;
SELECT …
Run Code Online (Sandbox Code Playgroud)