Oracle SQL序列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle SQL序列相关的知识,希望对你有一定的参考价值。

我在Oracle中创建了一个序列,当我在java桌面中删除一行(生成活动0)时,删除的行在桌面中变得不可见。但它保留在数据库中。这就是为什么,当我尝试在桌面上插入一个新行时,序列也会考虑删除的id和id序列id桌面变为1,3,7等。我该如何解决?

答案

假设ID是唯一的并且没有按照您的描述删除,除了考虑已删除的记录之外,您没有任何其他选择,因为它是有效的记录和密钥的使用,即使应用程序明智它不是有效记录。

您可以将主键更改为同时使用status和id列,但允许您自己使用不同/活动状态手动添加已删除ID的记录

另一答案

正如@JBNizet所提到的,一个序列就是:一个序列。它不是一个IDENTITY字段,如果你多次执行select mysequence.nextval from dual;它会继续上升。

以上是关于Oracle SQL序列的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE 序列sequence添加数据 重复添加

oracle sql 基础:数据定义语言(创建和管理序列索引同义词)

oracle如何查看表对应的序列

SQL(SQL/Oracle)使用序列从选择语句中插入值

在Snowflake sql中我们可以调用Oracle Sequence函数吗

如何在一组行之后或有条件地在没有 PL/SQL 块的情况下增加 oracle 序列?