Sql查詢指定表的所有外來鍵約束及外來鍵表名與列名

2021-06-27 03:43:15 字數 738 閱讀 3740

先看看我們要用到的幾個目錄檢視的解釋:

1,sys.foreign_keys--在這個檢視中返回了所有的外來鍵約束

2,sys.foreign_key_columns--在這個檢視中返回了所有外來鍵列(只返回列的id)

3,sys.columns--在這個檢視中返回了表與檢視的所有列

select

a.name as 約束名,

object_name(b.parent_object_id) as 外來鍵表,

d.name as 外來鍵列,

object_name(b.referenced_object_id) as 主健表,

c.name as 主鍵列

from sys.foreign_keys a

inner join sys.foreign_key_columns b on a.object_id=b.constraint_object_id

inner join sys.columns c on b.parent_object_id=c.object_id and b.parent_column_id=c.column_id

inner join sys.columns d on b.referenced_object_id=d.object_id and b.referenced_column_id=d.column_id

where object_name(b.referenced_object_id)='sfa_t_tbasstore';

Oracle 查詢所有表外來鍵

查詢表的外來鍵 包括名稱,引用表的表名和對應的鍵名,下面是分成多步查詢 select from user constraints c where c.constraint type r and c.table name 要查詢的表查詢外來鍵約束的列名 select from user cons co...

SQL新增外來鍵約束

1,sql語句建立表的同時新增外來鍵約束 create table tb userandrole 使用者角色表 id int primary key identity 1,1 userid int not null,使用者id roleid int not null,角色id foreign key...

SQL程式設計 外來鍵約束

外來鍵 foreign key 乙個表中的foreign key指向另乙個表中的unique key 唯一約束的鍵 對於兩個具有關聯關係的表而言,相關聯欄位中主鍵所在的表就是主表,外來鍵所在的表就是從表 子表 外來鍵約束 foreign key約束用於預防破壞表之間連線的行為,也能防止非法資料插入外...