【发布时间】:2013-12-12 20:50:00
【问题描述】:
我正在尝试增加一个没有序列的字段。有没有可能?? 我可以做这样的事情吗
INSERT INTO Test
VALUES ((
SELECT COUNT(ID)
FROM Test)+1)
请给我一个方法来做到这一点
【问题讨论】:
-
“我正在尝试增加一个没有序列的字段”。为什么你会想要那样做?在多用户环境中,使用
max()(或更糟糕的是:count())要么非常缓慢且不可扩展,要么完全错误。 -
在多用户环境中,没有可扩展的可能性。原因是 ACID - 您的会话看不到来自其他会话的未提交数据。这也适用于最大值计算。顺便说一句:最新版本的 Oracle 12c 实现了自动增量。
-
你能解释一下为什么你不想使用序列吗?
标签: sql oracle jdbc auto-increment