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

Как мога да разбера какво ограничение на FOREIGN KEY препраща към таблица в SQL Server?

Ето го:

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'

По този начин ще получите референтната таблица и име на колона.

Редактирано за използване на sys.tables вместо общи sys.objects според предложението за коментар. Благодаря, marc_s



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server OFFSET еквивалент

  2. SQL:Използване на ISNULL с динамична ос

  3. Как да пиша с помощта на BCP към отдалечен SQL сървър?

  4. изваждане на стойности на два реда и вмъкване в нова колона (не в следващите редове)

  5. Невалиден тип параметър (numpy.int64) при вмъкване на редове с executemany()