1
我有一个存储过程中使用的序列更新多个表就像如下:在数据库中使用序列时,如何确保线程安全?
create procedure()
-- retrieve new sequence number
sequence.nextval();
-- update table_A using newly created sequence number
insert into table_A(theID) values(sequence.currval());
-- update table_B using newly created sequence number
insert into table_B(theID) values(sequence.currval());
end procedure;
我可以知道上面的代码是否是线程安全的实现?对于每个过程的执行,我可以保证table_A和table_B中的ID每次执行多个执行时总是检索相同的序列号?
非常感谢您的回复,我知道这是否适用于触发器?如果这是真的,那么我可以节省很多努力。 ;) – huahsin68 2012-04-28 06:32:32
是的,这同样适用于触发器内部。 – 2012-04-28 15:10:31