
您可以通过使用级联触发器轻松地实现此目的,该触发器将与插入/更新 *** 作中的新索引条目相等的任何“索引”条目更新为索引值+1。这将级联所有行,直到第一个间隙停止级联-
有关PostgreSQL实现,请参见此博客条目中的第二个示例。
该方法应独立于所使用的RDBMS起作用,前提是它支持 在 更新/插入 之前
触发的触发器。如果您在代码中实现了所需的行为(增加所有后续索引值,直到遇到间隔),则基本上可以完成您的工作,但是以一种更简单,更有效的方式进行。
或者,如果您可以使用SQL Server的限制,请检查architectureid类型。虽然主要用于定义嵌套层次结构,但也可以将其用于平面排序。它有点类似于您使用浮点数的方法,因为它允许通过分配小数值来在两个位置之间插入,从而避免了更新其他条目的需要。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)