我需要一种管理表中序列的方法。我有一个表需要由序列管理。我必须能够在另外两行之间插入一行。 如果我有一个从1到10000的编号序列,我想插入一个介于100和101之间的行。或者我想将99移动到1到2之间。
这可以在SQL中管理,还是需要以编程方式管理它。
答案 0 :(得分:1)
SQL Server表没有任何隐式命令!
强制执行序列的唯一方法是具有唯一值的可排序列(或列的组合)。
实现此目的的一种方法是在现有排序键后对行进行编号:
regex= "[[\\bberlin\\b|berlin]]"
并创建NOT NULL
)这个完整的工作示例将向您展示如何执行此操作:
unique index
答案 1 :(得分:0)
SQL不会以表中的任何特定顺序存储数据,当您使用索引或其他查询查看数据时,它就会出现这种情况。您必须拥有一个用于对数据进行排序的ID列。在两个当前行之间插入数据并不容易(例如,插入100到101之间需要重新编号101<)。
答案 2 :(得分:0)
实现此目的的一种方法是让您的序列不连续。也就是说,指定序列的增量以留下足以放置交错行的间隙。如果当然这并不完美,因为你可能会耗尽行内间隙,但这只是一个开始。