Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Ograniczenie klucza obcego SQL DROP TABLE

Nie, nie spowoduje to usunięcia Twojej tabeli, jeśli rzeczywiście odwołują się do niej klucze obce.

Aby uzyskać wszystkie relacje kluczy obcych odwołujące się do Twojej tabeli, możesz użyć tego kodu SQL (jeśli korzystasz z SQL Server 2005 i nowszych):

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

a jeśli takowe istnieją, za pomocą tej instrukcji można utworzyć instrukcje SQL, aby faktycznie usunąć te relacje 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. Czy sprawdzanie wartości klucza podstawowego przed wstawieniem jest szybsze niż przy użyciu try-catch?

  2. Kiedy należy używać średników w SQL Server?

  3. Jak działa Z WYJĄTKIEM w SQL Server

  4. Zdezorientowany UPDLOCK, HOLDLOCK

  5. Wewnętrzne elementy replikacji transakcyjnej programu SQL Server