我正在试图找出,如果我的本地数据库(基于服务的数据库)中的任何行被删除,我想要给第二行(删除后的下一个)删除行的索引,对所有后续行使用相同的步骤当然,保持插入行的原始顺序也很重要。同样的问题我从这里开始:How to setup auto increment for Service-Based Database但现在我正在寻找一种不同的解决方式。我想要一些计算的行数来读取行。很快就会明白,最好不要这样做,因为我在这里试过Reset auto increment所以我需要数字序列。因此,在这种情况下,索引号表示序列号,例如:
- 第1行
- 第2行
- 第3行
- 第4行
醇>
如果删除了line2,我想要这个结果:
- 第1行
- 第3行
- 第4行
醇>
如果删除所有行,然后插入新行,则 1。新的第一行 而非 5。新的第一行 因为它现在与索引一起使用。
答案 0 :(得分:0)
我认为你应该使用一个自动递增的字段(比如ID
)来“保持插入行的原始顺序”。并使用VIEW作为示例,使用ROW_NUMBER()函数从表中选择行来模拟序列号
CREATE VIEW T_WITH_ROW_ID
AS
SELECT ROW_NUMBER() OVER(ORDER BY ID) as ROW_ID,
T.*
FROM T
并将其用作
SELECT * FROM T_WITH_ROW_ID