Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Elimina la chiave primaria utilizzando lo script nel database di SQL Server

Puoi cercare il nome del vincolo nella tabella sys.key_constraints:

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

Se non ti interessa il nome, ma vuoi semplicemente eliminarlo, puoi utilizzare una combinazione di questo e sql dinamico:

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;

Questo codice è di Aaron Bertrand (fonte).