Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL DROP TABLE ограничение за външен ключ

Не, това няма да изтрие вашата таблица, ако наистина има външни ключове, които я препращат.

За да получите всички релации на външен ключ, препращащи към вашата таблица, можете да използвате този SQL (ако използвате SQL Server 2005 и по-нова версия):

SELECT * 
FROM sys.foreign_keys
WHERE referenced_object_id = object_id('Student')

и ако има такива, с този оператор тук можете да създадете SQL изрази, за да премахнете тези FK отношения:

SELECT 
    'ALTER TABLE [' +  OBJECT_SCHEMA_NAME(parent_object_id) +
    '].[' + OBJECT_NAME(parent_object_id) + 
    '] DROP CONSTRAINT [' + name + ']'
FROM sys.foreign_keys
WHERE referenced_object_id = object_id('Student')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. freeTDS не използва своята конфигурация

  2. Промяна на колона, добавяне на ограничение по подразбиране

  3. Изключване на дялове на таблици в SQL Server:Походно ръководство

  4. Списък на всички таблици с връзка към дадена таблица или изглед

  5. SQL Server произволно сортиране