日期:2014-05-17  浏览次数:20573 次

sql server 表变量 排序有问题
问题

    当我把一个排好序的数据插入到表变量
    然后检索表变量的时候 有时候数据的顺序是好的,有时候数据的顺序是错误的

------解决方案--------------------
引用:
问题

    当我把一个排好序的数据插入到表变量
    然后检索表变量的时候 有时候数据的顺序是好的,有时候数据的顺序是错误的


检索的时候要重新排序!
------解决方案--------------------
表变量可以在定义的时候加上primary key,这样就可以保证顺序
------解决方案--------------------
引用:
试了 有时候可以有时候不行。


由语句不,贴出来看看,是类似这样吗:
declare @tb table(id int)

insert into @tb(id)
select ID
from sysobjects
order by id

------解决方案--------------------
因为每次你插入的时候其实是一个“新变量”,你最好换临时表
------解决方案--------------------
如果临时表有聚集索引,插入以后数据的顺序是固定的
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

试了 有时候可以有时候不行。


由语句不,贴出来看看,是类似这样吗:
declare @tb table(id int)

insert into @tb(id)
select ID
from sysobjects
order by id


一模一样


也就是说,这个语句用order by排序后,有时候,不起作用,@tb中的数据,仍然没有顺序?
------解决方案--------------------
你有具体数据和脚本看看不?