当前位置: 代码迷 >> Sql Server >> 怎么写这句SQL语句,请问高人?
  详细解决方案

怎么写这句SQL语句,请问高人?

热度:82   发布时间:2016-04-27 15:27:09.0
如何写这句SQL语句,请教高人???

如图所示的数据库,左边最左边ID这列本是自增列,从1004开始下面的数字都是9999,nh字段从这列开始都是2008,但是我想重新排列ID字段接着从1004往下排,替换掉9999,而其他列保持不变,应该如何写这句SQL语句,谢~

------解决方案--------------------
SET IDENTITY_INSERT tablename ON
GO

------解决方案--------------------
SQL code
SELECT   IDENTITY   (int,   1005,   1)   AS   ID,   nh,   swh,   wh,   zrz,   tm,   rq,   ztc,   dah,   zj_id,   mj,   swrq,               files,   bz,   ys,   pt INTO   #temp WHERE   nh   =   '2008'    [color=#FF0000]---这句要写在下面的那个from语句下面[/color]FROM   wj1                     DELETE   FROM   wj1                 WHERE   ID   =   '9999'                                     SELECT   *                                 INTO   wj1                                 FROM   #temp                                                     SELECT   *                                                 FROM   wj1--------------------试试下面的-------------------------SELECT   IDENTITY   (int,   1005,   1)   AS   ID,   nh,   swh,   wh,   zrz,   tm,   rq,   ztc,   dah,   zj_id,   mj,   swrq,               files,   bz,   ys,   pt INTO   #temp FROM   wj1 WHERE   nh   =   '2008'    DELETE   FROM   wj1                 WHERE   ID   =   '9999'                                     SELECT   *                                 INTO   wj1                                 FROM   #temp                                                     SELECT   *                                                 FROM   wj1
------解决方案--------------------
是这样吗
SQL code
declare @t table(id int )insert into @t select 1insert into @t select 2insert into @t select 3insert into @t select 2008insert into @t select 2009insert into @t select 2010insert into @t select 2011declare @i intset @i =3update @t set id = @i ,@[email protected]+1where id>2007select * from @t-----------1234567(7 row(s) affected)
  相关解决方案