你原来编号是什么类型,编号值是不是唯一???
如果不是整型或者编号值不唯一,那当然都会出错!你如果想这个标识列想以编号的最大值开始递增,那这样写语句
DECLARE @I INTSELECT @I =MAX(编号) FROM 表EXEC('ALTER TABLE 表 ADD 编号1 int identity('+@I+',1) not null')
ALTER TABLE 表 DROP COLUMN 编号 
exec sp_rename '表.编号1','编号'

解决方案 »

  1.   

    exec('ALTER TABLE 表 ADD 编号1 bigint identity(1,1) not null')
            SET IDENTITY_INSERT 表 ON
            exec('update 表 set 编号1=编号')
            SET IDENTITY_INSERT 表 OFF
            exec('ALTER TABLE 表 DROP COLUMN 编号 ')
            exec sp_rename '表.编号1','编号'呢?
    报什么错?