给一个表的一个字段加一个IDENTITY (1, 1),怎么写script呢? 
我现在是这样写的, 不过有错误
ALTER TABLE [dbo].[Purchase_Order] 
ALTER COLUMN [PurchaseOrderId] [int] IDENTITY (1, 1) NOT NULL 
GO

解决方案 »

  1.   

    select [dbo].[Purchase_Order].*,id=identity(int,1,1) from [dbo].[Purchase_Order] into newtable
      

  2.   

    IDENTITY列只能在表格定义时定义
      

  3.   

    --老大的方法--创建测试表
    CREATE TABLE t1(ID int IDENTITY,A int)
    GO
    --插入记录
    INSERT t1 VALUES(1)
    GO--1. 将IDENTITY(标识)列变为普通列
    ALTER TABLE t1 ADD ID_temp int
    GOUPDATE t1 SET ID_temp=ID
    ALTER TABLE t1 DROP COLUMN ID
    EXEC sp_rename N't1.ID_temp',N'ID',N'COLUMN'
    INSERT t1 VALUES(100,9)
    GO--2. 将普通列变为标识列
    CREATE TABLE t1_temp(ID int,A int IDENTITY)
    SET IDENTITY_INSERT t1_temp ON
    INSERT t1_temp(ID,A) SELECT * FROM t1
    SET IDENTITY_INSERT t1_temp OFF
    DROP TABLE T1
    GOEXEC sp_rename N't1_temp',N't1'
    INSERT t1 VALUES(109999)
    GO--显示处理结果
    SELECT * FROM t1
    /*--结果:
    ID          A 
    ----------------- ----------- 
    1           1
    100         9
    109999      10
    --*/