Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Encontrando uma restrição de chave primária em tempo real no SQL Server 2005


Embora a prática recomendada típica seja sempre nomear explicitamente suas restrições, você pode obtê-las dinamicamente nas visualizações do catálogo:
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 ...