alter table tablename drop column DepId
alter table tablename add DepId int identity(10000,1)

解决方案 »

  1.   

    DBCC CHECKIDENT (depid, RESEED, 10000)
    GO
      

  2.   

    首先谢谢高手们的指点。对不起,我忘了说了,我的表里已经有数据了,所以用drop columnf方法恐怕不行;DBCC CHECKIDENT方法很好使,但是为什么在此表的设计窗口里还是看到IDENTITY的种子值还没有变,而新产生的记录已经遵循新的种子值了;请问这是怎么回事?何时可以看到新的种子值?
      

  3.   

    IDENT_INCR ( 'table_or_view' )  -- 获得步长
    IDENT_SEED ( 'table_or_view' )  -- 获得种子
      

  4.   

    该语句只是改变当前的IDENTITY的值,并不该表该列的属性!
      

  5.   

    这就是说:这样IDENTITY列的属性可能与IDENTITY的实际种子值不同步了,这恐怕是个问题啊?难道我非得在最后还要将IDENTITY的种子值改回原值吗?
      

  6.   

    不过,我的问题还是解决了,谢谢leimin(黄山光明顶)。
      

  7.   

    alter table 表 add 编号1 intupdate 表 set 编号1=编号alter table 表 drop column 编号ALTER TABLE 表 ADD 编号 bigint identity(10000,1) not nullSET idENTITY_INSERT 表 ONupdate 表 set 编号=编号1SET idENTITY_INSERT 表 OFFalter table 表 drop column 编号1
    go
      

  8.   

    别客气.
    难道我非得在最后还要将IDENTITY的种子值改回原值吗?
    这就不必了,IDENTITY只是一个标志号,并不具有实际的意义.
      

  9.   

    哈哈,leimin(黄山光明顶) ,有理。哈哈,pengdali(大力) ,你的解决方案不错,多谢