Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Schnelles Finden einer Primärschlüsseleinschränkung in SQL Server 2005

Während die typische Best Practice darin besteht, Ihre Einschränkungen immer explizit zu benennen, können Sie sie dynamisch aus den Katalogansichten abrufen:

DECLARE @table NVARCHAR(512), @sql NVARCHAR(MAX);

SELECT @table = N'dbo.PS_userVariables';

SELECT @sql = 'ALTER TABLE ' + @table 
    + ' DROP CONSTRAINT ' + name + ';'
    FROM sys.key_constraints
    WHERE [type] = 'PK'
    AND [parent_object_id] = OBJECT_ID(@table);

EXEC sp_executeSQL @sql;

ALTER TABLE dbo.PS_userVariables ADD CONSTRAINT ...