以下のように複数のテーブルを更新するストアド プロシージャで使用されるシーケンスがあります。
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 の theID が常に同じシーケンス番号を取得することを保証できますか?