新しいレコードがposts
テーブルに挿入されるたびにnumber
を投稿に割り当てる予定の次のトリガがあります。新しいレコードのproject_id
に範囲が最大number
のposts
が見つかりました。残念ながら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