在2008下面没有问题,到了2012就会无规则排序
CREATE TABLE #temp (id INT,id2 INT)
DECLARE @i INT 
SET @i=0WHILE @i<=1000000
BEGIN 
INSERT #temp ( id, id2 )
SELECT 0,@i
SET @i=@i+1 
END
DECLARE @int INT 
SET @int=0
UPDATE #temp 
SET id=@int,@int=@int+1
SELECT * FROM #temp
WHERE id2=1
SELECT @@VERSION
DROP TABLE #temp

解决方案 »

  1.   


    UPDATE #temp 
    SET id=@int,@int=@int+1
    不知道楼主实验了几次。
    我感觉上面这个update语句,结果是不确定的。
    可能2012和2008在这个地方有差异
      

  2.   

    我在2000,2005,2008上面多次试验都是没有问题,所以我的程序一直是没有问题,但是升级到2012的时候就经常报错
    可能是2012的bug
    还是用2008 r2 比较靠谱
      

  3.   

    我在2000,2005,2008上面多次试验都是没有问题,所以我的程序一直是没有问题,但是升级到2012的时候就经常报错
    可能是2012的bug
    还是用2008 r2 比较靠谱
    小数据的时候不会有这样的问题,超过十万就会有问题了
      

  4.   

    难道是版本的问题,因为现在只有一台机上面装有SQLserver 2012 所以我都只是在那台电脑测试的