移機時因為 PostgreSQL 資料庫不同版本。使的 Trigger 沒有移過來,今天進行修正並且記錄一下
先建立函數,在資料庫新增及更新做這個動作
CREATE OR REPLACE FUNCTION tagfunc()
RETURNS trigger AS
$$
BEGIN
UPDATE tags SET frequency = (select count(*) from posts where posts.tags=tags.id);
RETURN NEW;
END;
$$ LANGUAGE plpgsql
建立 Trigger 時間點並指寝在 INSERT OR UPDATE( post 資料表有更新或新增時 做這件事)
CREATE TRIGGER post_tags_trigger
AFTER INSERT OR UPDATE
ON posts
FOR EACH ROW
EXECUTE FUNCTION tagfunc();