SqlServer使用总结



-- 新增主键,系统随机取名
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;


posted on 2023-10-07 13:43  C_C_菜园  阅读(51)  评论(0)    收藏  举报

导航