sqlserver 怎样把数据库同一个表中的两条记录互换位置?

sqlserver 怎样把数据库同一个表中的两条记录互换位置?,第1张

数据表中的数据存放顺序和表的聚集索引有关,表的初始显示顺序是按聚集索引的顺序来的。

明白这一点你就可以实现。把表的聚集索引列的值修改成你想要的顺序就可以了。

我觉得你要的决定显示顺序的排序号。比如:

select

*

from

A

order

by

OrderID

上移下移功能就是互换两条记录的OrdeID,一般都是这么实现的。

你先要搞清楚在数据库里的数据是没有顺序可言的,换句话说,只有你自己查询出来的数据才是有顺序的,数据库里暂时存放数据的顺序都是浮云,最终还是要你自己按查询条件查询出来才可用,所以,数据行位置交换只能实现在查询的基础上,或者还有一种办法,就是点这个数据行往上拖一下,但是没有起到根本作用

如果用函数的办法比较麻烦 我想了个办法 你试试

select A1.其他字段,A1.B CC,A1.C BB FROM(SELECT 其他字段,BB B,CC C FROM AA) A1

这个结果会达到你的要求,但是如果在这张表改变的话 还要做些工作,是有点麻烦了.

如果用函数的话

你需要定义一个游标,然后遍历 ,然后把那两个字段调换下位置, 还要删除那行 ,然后插入新行.


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

原文地址: http://outofmemory.cn/sjk/10843536.html

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

发表评论

登录后才能评论

评论列表(0条)

保存