-- 新增主键,系统随机取名
ALTER TABLE "T_CS1" ADD PRIMARY KEY CLUSTERED ("ID1", "ID2");
-- 新增主键,并给主键取名
ALTER TABLE "T_CS1" add constraint "pk_1" PRIMARY KEY ("ID1", "ID2");
-- 查询当前数据库的所有对象
SELECT * FROM SYS.OBJECTS;
-- 查询表的OBJECT_ID,OBJECT_ID是sqlserver数据库中所有对象的ID
SELECT OBJECT_ID('T_CS1');
-- 根据表的OBJECT_ID获取该表的主键
SELECT name FROM SYS.OBJECTS WHERE type = 'PK' AND parent_object_id = OBJECT_ID('T_CS1');
-- 删除主键1:知道主键名的前提下
ALTER TABLE "T_CS1" DROP CONSTRAINT "pk_1";
-- 删除主键2:视图:不知道主键名的前提下删除
DECLARE @tableName NVARCHAR(128);
SET @tableName = 'T_CS1';
DECLARE @constraintName NVARCHAR(128);
SELECT @constraintName = name
FROM sys.key_constraints
WHERE type = 'PK' AND OBJECT_NAME(parent_object_id) = @tableName;
IF @constraintName IS NOT NULL
BEGIN
DECLARE @sql NVARCHAR(MAX);
SET @sql = 'ALTER TABLE "' + @tableName + '" DROP CONSTRAINT "' + @constraintName + '"';
EXEC sp_executesql @sql;
PRINT '主键约束已成功删除。';
SELECT 1 AS ResultCode;
END
ELSE
BEGIN
PRINT '表没有主键约束。';
SELECT 2 AS ResultCode;
END;