2015-09-25 69 views
0

當一個新行插入到表forumtopics(cols:id | userid)中時,比我想要執行的觸發器插入到upvotes表中,該表使用forumtopics行中的id和userid。PosgresSQL觸發器

所以upvotes表看起來:ID |用戶ID | forumtopicsid(ID由原來的插入)

我可怎麼辦呢?

回答

0

首先,創建一個觸發功能,例如(假設upvotes.idserial類型):

create or replace function before_insert_on_forumtopics() 
returns trigger language plpgsql as $$ 
begin 
    insert into upvotes (userid, forumtopicsid) 
    values (new.userid, new.id); 
    return new; 
end $$; 

接下來,創建一個觸發器:

create trigger before_insert_on_forumtopics 
before insert on forumtopics 
for each row 
execute procedure before_insert_on_forumtopics(); 

閱讀文檔約Trigger BehaviorTrigger ProceduresCREATE TRIGGER英寸

0
CREATE TRIGGER init_upvote 
    AFTER INSERT ON forumtopics 
    FOR EACH ROW 
    EXECUTE PROCEDURE function_that_inserts_into_upvote(NEW.id, NEW.userid);