我在创建触发器的函数时遇到了问题。 我希望在将数据插入数据库之前更新插入的值。我的代码如下:
CREATE OR REPLACE FUNCTION test_func()
RETURNS TRIGGER AS
$$
DECLARE cnt INTEGER;
BEGIN
cnt := COUNT(*) FROM sample_tbl WHERE id = NEW.id AND created_date = NEW.created_date;
NEW.current_order := cnt + 1; // I want to set value of sample_tbl.current_order automatically
END
$$ LANGUAGE plpgsql;
CREATE TRIGGER test_trigger
BEFORE INSERT
ON test_tbl
FOR EACH ROW
EXECUTE PROCEDURE test_func();
我插入了数据,然后IDE提示:
控制流程到达触发器过程的结尾,但没有返回。
位置:PL/pgSQL函数test_func()