T SQL中找出乙個表的所有外來鍵關聯表

2022-03-25 19:14:41 字數 880 閱讀 3257

二種方法(下例中表名為t_work)

1.sql查詢系統表 

select

主鍵列id=b.rkey   

,主鍵列名=(select

name

from

syscolumns 

where

colid=b.rkey 

andid=b.rkeyid)   

,外來鍵表id=b.fkeyid   

,外來鍵表名稱=object_name(b.fkeyid)   

,外來鍵列id=b.fkey   

,外來鍵列名=(select

name

from

syscolumns 

where

colid=b.fkey 

andid=b.fkeyid)   

,級聯更新=objectproperty(a.id,'cnstisupdatecascade'

)   

,級聯刪除=objectproperty(a.id,'cnstisdeletecascade'

)   

from

sysobjects a   

join

sysforeignkeys b 

ona.id=b.constid   

join

sysobjects c 

ona.parent_obj=c.id   

where

a.xtype=

'f'and

c.xtype=

'u'and object_name(b.rkeyid)='t_work'

2.系統儲存過程

exec

sp_helpconstraint t_work  

Orcale查詢某乙個表或者所有表的外來鍵資訊

分享乙個非常實用的小東西,查詢所有表或者某乙個表的外來鍵,這種方法對於看別人的資料庫有非常好的作用,直接貼sql語句了 select b.table name 主鍵表名,b.column name 主鍵列名,a.table name 外來鍵表名,a.column name 外來鍵列名 from se...

mysql 所有外來鍵 mysql中的外來鍵

mysql中的外來鍵 1.預設的外來鍵存在之後,會對資料進行約束。1 約束1 如果子表中新增的資料,外來鍵字段對應的資料如果在父表中不存在,那麼新增失敗。有資料之後 2 約束2 父表不能刪除 或者修改 乙個被子表引用的資料記錄 3.外來鍵約束 預設的使用者所能看到的約束都是外來鍵的一種約束 嚴格模式...

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

先看看我們要用到的幾個目錄檢視的解釋 1,sys.foreign keys 在這個檢視中返回了所有的外來鍵約束 2,sys.foreign key columns 在這個檢視中返回了所有外來鍵列 只返回列的id 3,sys.columns 在這個檢視中返回了表與檢視的所有列 select a.nam...