sql >> Database >  >> RDS >> Sqlserver

Zet de primaire sleutel neer met behulp van een script in de SQL Server-database

U kunt de naam van de beperking opzoeken in de tabel sys.key_constraints:

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

Als je niet om de naam geeft, maar hem gewoon wilt laten vallen, kun je een combinatie hiervan en dynamische sql gebruiken:

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;

Deze code is van Aaron Bertrand (bron).



  1. Het dumpen van tabellen in orakel 10g met behulp van de PL/SQL-procedure

  2. MariaDB Server vergelijken met MariaDB Cluster

  3. SQLT in 12c kan geen statistieken verzamelen

  4. SQLPlus - spoolen naar meerdere bestanden van PL/SQL-blokken