Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Thả khóa chính bằng cách sử dụng tập lệnh trong cơ sở dữ liệu SQL Server

Bạn có thể tra cứu tên ràng buộc trong bảng sys.key_constraints:

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

Nếu bạn không quan tâm đến tên, nhưng chỉ muốn bỏ nó, bạn có thể sử dụng kết hợp giữa this và dynamic 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;

Mã này là của Aaron Bertrand (nguồn).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kiểm tra tình trạng máy chủ SQL chủ động, Phần 3:Cài đặt phiên bản và cơ sở dữ liệu

  2. Xem lịch sử công việc của SQL Server Agent với SSMS

  3. Cách tắt tính năng thu thập dữ liệu thay đổi (CDC) trên cơ sở dữ liệu trong SQL Server - Hướng dẫn sử dụng SQL Server

  4. Cách thay đổi cột hoặc tạo tập lệnh thay thế bằng cách sử dụng GUI trong SQL Server - Hướng dẫn sử dụng SQL Server / T-SQL Phần 38

  5. Thứ tự của các cột trong mệnh đề WHERE có quan trọng không?