我有以下觸發器,應該在每次將新記錄插入到posts
表中時將number
分配給一個帖子。它發現posts
的最大number
範圍爲新記錄的project_id
。PostgreSQL查詢沒有結果數據的目的地
CREATE OR REPLACE FUNCTION assign_number()
RETURNS trigger AS
$BODY$
BEGIN
SELECT coalesce(MAX(number), 0) max_number FROM posts WHERE project_id = NEW.project_id;
NEW.number := max_number + 1;
RETURN NEW;
END;
$BODY$ LANGUAGE plpgsql;
CREATE TRIGGER post_created
BEFORE INSERT ON posts
FOR EACH ROW
EXECUTE PROCEDURE assign_number();
不幸的是,試圖做一個INSERT
時,我得到的語法錯誤query has no destination for result data
。我試過了我能想到的所有東西,並查看了StackOverflow上的所有相關問題,但仍似乎無法弄清楚這一點。
關於這裏有什麼問題的任何想法?任何明顯的我失蹤?
你忘了INTO嗎? – Nicarus