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); 结束;''' –
谢谢。隔离级别呢?你有什么想法是什么水平?我如何申报? –