Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Supprimer la clé primaire à l'aide d'un script dans la base de données SQL Server

Vous pouvez rechercher le nom de la contrainte dans la table sys.key_constraints :

SELECT name
FROM   sys.key_constraints
WHERE  [type] = 'PK'
       AND [parent_object_id] = Object_id('dbo.Student');

Si vous ne vous souciez pas du nom, mais que vous voulez simplement le supprimer, vous pouvez utiliser une combinaison de ceci et de sql dynamique :

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

SELECT @table = N'dbo.Student';

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;

Ce code est d'Aaron Bertrand (source).