sql >> Databasteknik >  >> RDS >> Sqlserver

Släpp primärnyckeln med skript i SQL Server-databasen

Du kan slå upp begränsningsnamnet i tabellen sys.key_constraints:

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

Om du inte bryr dig om namnet, utan bara vill släppa det, kan du använda en kombination av detta och dynamisk sql:

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;

Den här koden kommer från Aaron Bertrand (källa).



  1. Underfråga med Exists 1 eller Exists *

  2. Fel vid konvertering av XML från en CLOB-kolumn till XMLType-kolumn

  3. Hur man använder FILEGROUPPROPERTY() i SQL Server

  4. Bevilja Välj för en vy inte bastabell när bastabellen finns i en annan databas