我的问题是,在table1表中,有单据号invno和序号xh及其它一些字段,xh对于每个invno都是从1开始排的,这是个明细表,许多单据的数据都在这里,主键是invno+xh,有些时候我需要增加某个单据号invno中的记录,但要求其序号xh按指定规则重排(从1开始),可我不能在原表直接对xh进行重排,只好借用了临时表。不知道有没有更好的办法可以解决这个问题?

解决方案 »

  1.   

    在客户端写不是不可以,只是我还需要在其它一些表进行修改时自动触发对它的修改,在客户端写的话需要对每相应表的修改都写这些代码,非常麻烦。
    另外我如果用select ... into #temp 的话不会出错,但不能实现序号xh重排,即使我加了排序order by ... ,好象在生成的临时表中的xh依然是表中的物理顺序,我用的是如下的语句:
      SELECT IDENTITY(int, 1,1) AS xh, Other Fields...
      INTO #Temp
      FROM Table
      ORDER BY ...
    不知道有什么办法可以解决这个序号xh重排的问题?