????????????????????????

解决方案 »

  1.   

    with t
    as(
    select *,[newid]=row_number()over(order by getdate()) from tbl
    )
    update tbl set id=[newid] from t where t.标识列=tbl.标识列
      

  2.   


    就是构造一个类似于 临时表,表中有连续的序号 row_number()over(order by getdate()) 这是2005以上版本的新功能。
    然后与你的物理表做内连接,将 临时表中联系的 序号更新给你现有物理表中不连续的字段中。
      

  3.   

    update tbl set id=[newid] from t where t.标识列=tbl.标识列
    是什么意思  怎么才能将 临时表中联系的 序号更新给现有物理表中不连续的字段中
      

  4.   

    SQL的每条记录本来就是集合,从来没有有序或者无序之说,你说的有序只不过是在查询的时候加上了ORDER BY的游标。还是理解下SQL的内部定义吧。