--定义变量存储主键
DECLARE @Constraint_Name varchar(128)
--获取主键
SELECT @Constraint_Name = Name
FROM dbo.sysobjects
WHERE Xtype = 'PK'
and Parent_Obj =
(
SELECT [ID]
FROM dbo.sysobjects
WHERE id = OBJECT_ID(N'TestTableName')
and OBJECTPROPERTY(OBJECT_ID(N'TestTableName'), N'IsUserTable') = 1
)


PRINT @Constraint_Name
--删除原主键
EXEC ('ALTER TABLE TestTableName DROP CONSTRAINT '+@Constraint_Name )

--加入新自增长列并设置主键
IF EXISTS(SELECT * FROM syscolumns WHERE id=OBJECT_ID('TestTableName') and name='TestID')
BEGIN
ALTER TABLE TestTableName DROP COLUMN TestID
ALTER TABLE TestTableName ADD TestID BIGINT IDENTITY(1,1)
ALTER Table TestTableName ADD CONSTRAINT PK_TestTableName PRIMARY KEY (TestID)
END
ELSE 
 BEGIN
    ALTER TABLE TestTableName ADD TestID BIGINT IDENTITY(1,1)
    ALTER Table TestTableName ADD CONSTRAINT PK_TestTableName PRIMARY KEY (TestID)
 END

 

相关文章:

  • 2022-12-23
  • 2021-10-16
  • 2021-10-19
  • 2022-12-23
  • 2022-12-23
  • 2021-08-04
  • 2021-11-01
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-09-22
  • 2021-08-11
  • 2022-12-23
相关资源
相似解决方案