我在Oracle中创建了一个序列,当我在java桌面中删除一行(生成活动0)时,删除的行在桌面中变得不可见。但它保留在数据库中。这就是为什么,当我尝试在桌面上插入一个新行时,序列也会考虑删除的id和id序列id桌面变为1,3,7等。我该如何解决?
假设ID是唯一的并且没有按照您的描述删除,除了考虑已删除的记录之外,您没有任何其他选择,因为它是有效的记录和密钥的使用,即使应用程序明智它不是有效记录。
您可以将主键更改为同时使用status和id列,但允许您自己使用不同/活动状态手动添加已删除ID的记录
正如@JBNizet所提到的,一个序列就是:一个序列。它不是一个IDENTITY字段,如果你多次执行select mysequence.nextval from dual;
它会继续上升。