在数据库中上下移动行(SQL查询帮助)

在数据库中上下移动行(SQL查询帮助),第1张

在数据库中上下移动行(SQL查询帮助)

通过分别与之前或之后的记录交换记录来向上或向下移动记录。

如果

SortId
值始终是连续的(即,您不删除会造成间隔的记录),则可以只增加或减去一个来获得下一个或上一个记录。如果不能保证记录是连续的,则必须在要移动的记录旁边找到该记录。

查找

SortId
之前的记录,请执行以下 *** 作:

select max(SortId) from TheTable where SortId < @SortId

在以下位置查找

SortId
记录的:

select min(SortId) from TheTable where SortId > @SortId

要交换两条记录,可以使用此技巧从另一个记录计算一个值:

update TheTableset SortId = @SortId1 + @SortId2 - SortIdwhere SortId in (@SortId1, @SortId2)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5107493.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存