sql >> Databasteknik >  >> RDS >> Sqlserver

Hur kan jag ta reda på vilken FOREIGN KEY-begränsning som refererar till en tabell i SQL Server?

Här är den:

SELECT 
   OBJECT_NAME(f.parent_object_id) TableName,
   COL_NAME(fc.parent_object_id,fc.parent_column_id) ColName
FROM 
   sys.foreign_keys AS f
INNER JOIN 
   sys.foreign_key_columns AS fc 
      ON f.OBJECT_ID = fc.constraint_object_id
INNER JOIN 
   sys.tables t 
      ON t.OBJECT_ID = fc.referenced_object_id
WHERE 
   OBJECT_NAME (f.referenced_object_id) = 'YourTableName'

På så sätt får du referenstabellen och kolumnnamnet.

Redigerad för att använda sys.tables istället för generiska sys.objects enligt kommentarsförslag. Tack, marc_s



  1. Konvertera en UTC-tidszon i postgresql till EST (lokal tid)

  2. Generera DEFAULT-värden i en CTE UPSERT med PostgreSQL 9.3

  3. Hur väljer man flera rader fyllda med konstanter i Amazon Redshift?

  4. OracleConnection.Open kastar ORA-12541 TNS ingen lyssnare