0
我想創建一個具有適當隔離級別的TRANSACTION。在那個事務中,我想做一個雙重插入,如果一個失敗,另一個就會中止。
我有一個存儲過程已經創建:
create or replace function insert_into_answercomments(userid INTEGER, answerid INTEGER, body text)
returns void language plpgsql as $$
DECLARE result INTEGER;
insert into publications(body, userid)
VALUES (body, userid)
returning publications.publicationid AS publicationid INTO result;
insert into comments(publicationid) VALUES (result);
insert into answercomments(commentid, answerid) VALUES (result, answerid);
end $$;
我的疑問是,如果該交易應該是裏面的功能,或者如果它是一個不同的過程。我如何使用正確的隔離級別來創建它。
親切的問候
但我怎麼才能稱之爲交易?任何時候我需要做這些雙重插入,如果它不是一個過程,我將如何調用該交易? –
'''開始; select * from insert_into_answercomments(1,2); 結束;''' –
謝謝。隔離級別呢?你有什麼想法是什麼水平?我如何申報? –