【发布时间】:2012-09-12 08:46:52
【问题描述】:
我想在oracle数据库中添加一个列,插入记录后自动增加。删除记录时应该自动减少。该字段用于存储表标题的序列号,标题应该是能够重新排序,因此数字序列之间不应该有任何差距。我尝试过使用 TRIGGER 和 SEQUENCE 但它不起作用。有没有办法使用 PL/SQL 来实现这一点。实际上我想要的是转移删除记录时的序号。
eg:row 1,row 2,row 3,row 4,row 5 如果我们删除第 3 行,顺序应该是第 1 行,第 2 行,第 3 行,第 4 行,第 4 行的记录应该排在第 4 行3等等..
我正在使用jsp-servlet技术。如果有任何方法可以使用java来做到这一点也很好。
谢谢!
【问题讨论】:
-
我在想
update、order by和rownum放在一起应该可以满足您的需求。 (你这不是为了你的PK吧?) -
不,这不是PK字段。但是删除序列中间的记录后,应该重新排列序列的其余部分。这可能吗?
-
Oracle 序列无法重新排列,但您可以实现自己的序列。但这肯定是浪费时间。