我需要一个特定的业务场景来在一个实体(不是 PK)上设置一个来自序列的数字(序列必须是 min 和 max 之间的数字)
我定义了这样的序列:
CREATE SEQUENCE MySequence
MINVALUE 65536
MAXVALUE 4294967296
START WITH 65536
INCREMENT BY 1
CYCLE
NOCACHE
ORDER;
在 Java 代码中,我从这样的序列中检索数字:
select mySequence.nextval from dual
我的问题是:
如果我select mySequence.nextval from dual
在一个事务中调用这个“”并且在另一个事务中同时调用相同的方法(并行请求),那么确定序列返回的值是不同的吗?
不可能像从第一笔交易中读取未提交的值吗?
因为假设我不会使用序列和一个普通表,我会在其中增加自己的序列,那么如果 trasactinalitY 是默认的“READ COMMITTED”,那么事务 2 将能够读取相同的值。