原:Oracle 和 SqlServer下擷取主外鍵表名欄位名約束名的語句

來源:互聯網
上載者:User

希望象Sqlserver中一樣能清晰的分析主外鍵表和欄位資訊,用一個SQL語句寫出主外鍵表的欄位一一對應關係,在網上找了半天,有能列出主外鍵表和欄位的,但欄位不是一一對應好的,所以自己寫了一個。

 

Oracle中擷取主外鍵表名欄位名約束名
select b.table_name as pktable_name,b.column_name pkcolumn_name,c.table_name fktable_name,c.column_name fkcolumn_name,c.position ke_seq,c.constraint_name fk_name from (select * from user_cons_columns ) b left  join (select * from user_constraints where user_constraints.constraint_type='R' ) a on  b.constraint_name=a.r_constraint_name left  join user_cons_columns c on  c.constraint_name=a.constraint_name where c.position is not null and c.position=b.position order by c.table_name,c.position 

 

 查詢某表的外鍵表和外鍵欄位對應關係

查pktable_name表的外鍵表和約束名欄位對應關係等資訊
string sql="select 

b.table_name,b.column_name,b.position,c.table_name,c.column_name,c.position

,c.constraint_name from (select * from user_cons_columns where 

table_name='"+pktable_name+"') b left  join (select * from user_constraints 

where user_constraints.constraint_type='R' and r_constraint_name like 

'%"+pktable_name+"') a on  b.constraint_name=a.r_constraint_name left  join 

user_cons_columns c on  c.constraint_name=a.constraint_name where 

c.position is not null and c.position=b.position order by 

c.table_name,c.position "

 

 

 

SqlServer中執行預存程序

1

Sqlserver中查看主外鍵表和欄位對應關係
sp_fkeys pktable_name  

pktable_name是指主鍵表的名稱

 2

 

Code
擷取表主外鍵約束 
exec sp_helpconstraint   'fktable_name' ;

 fktable_name  is Foreign Key Table's Name

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.