在oracle中查詢表之間外來鍵的執行語句怎麼寫

時間 2022-02-03 09:30:02

1樓:粉色灰末

查詢表的外來鍵(包括名稱,引用表的表名和對應的鍵名,下面是分成多步查詢):

select * from user_constraints c where c.constraint_type = 'r' and c.table_name = 要查詢的表

查詢外來鍵約束的列名:

select * from user_cons_columns cl where cl.constraint_name = 外來鍵名稱

查詢引用表的鍵的列名:

select * from user_cons_columns cl where cl.constraint_name = 外來鍵引用表的鍵名

查詢表的所有列及其屬性

select t.*,c.comments from user_tab_columns t,user_col_comments c where t.

table_name = c.table_name and t.column_name = c.

column_name and t.table_name = 要查詢的表

2樓:詬湊謨琅

select * from user_constraints c where c.constraint_type = 'r' and c.table_name = 要查詢的表 。

查詢外來鍵約束的列名: select * from user_cons_columns cl where cl.constraint_name = 外來鍵名稱

查詢引用表的鍵的列名: select * from user_cons_columns cl where cl.constraint_name = 外來鍵引用表的鍵名

查詢表的所有列及其屬性 select t.*,c.comments from user_tab_columns t,user_col_comments c where t.

table_name = c.table_name and t.column_name = c.

column_name and t.table_name = 要查詢的表。

甲骨文股份****(oracle)是全球大型資料庫軟體公司,總部位於美國加州紅木城的紅木岸。在2023年,甲骨文股份****是繼microsoft及ibm後,全球收入第三多的軟體公司。

oracle資料庫產品為財富排行榜上的前1000家公司所採用,許多大型**也選用了oracle系統。甲骨文股份****於2023年正式進入中國,在北京、上海、廣州和成都均設立了分支機構。

在oracle 中查詢表之間外來鍵的執行語句怎麼寫?

3樓:粉色灰末

查詢表的外來鍵(包括名稱,引用表的表名和對應的鍵名,下面是分成多步查詢):

select * from user_constraints c where c.constraint_type = 'r' and c.table_name = 要查詢的表

查詢外來鍵約束的列名:

select * from user_cons_columns cl where cl.constraint_name = 外來鍵名稱

查詢引用表的鍵的列名:

select * from user_cons_columns cl where cl.constraint_name = 外來鍵引用表的鍵名

查詢表的所有列及其屬性

select t.*,c.comments from user_tab_columns t,user_col_comments c where t.

table_name = c.table_name and t.column_name = c.

column_name and t.table_name = 要查詢的表

在oracle中,有沒有檢視一個表外來鍵的sql語句?

4樓:

有表 「ac」 其中主鍵為「jh」

有表「ad」其中也有一個列名為「jh」的

則主鍵表是ac,外來鍵表是ad 主鍵是ac的jh,外來鍵是ad的jh想要的結果是:主鍵表名,外來鍵表名,主鍵,外來鍵

5樓:

已驗證:

select index_name 索引名, b.table_name 主鍵表名, a.table_name 外來鍵表名, constraint_type, constraint_name 約束名

from all_indexes a, all_constraints b

where b.table_name='ac' and constraint_type in('p','r')

and r_constraint_name=index_name(+)

/constraint_type='p'為主鍵,='r'為外來鍵

6樓:

難道不能用 select * from user_constraints ...?

r_constraint_name 這個東西就是外來鍵參照的另一個約束條件 ...

7樓:匿名使用者

select * from user_constraints where

r_constraint_name in (select constraint_name from user_constraints where table_name = 'dept') ;

檢視所有 reference dept表的外來鍵

oracle怎麼查外來鍵建在哪個表上

在oracle表中,如何根據外來鍵找到另一張擁有這個外來鍵的表。

8樓:匿名使用者

select * from user_constraints cc where cc.r_constraint_name in (

select c.r_constraint_namefrom user_constraints cwhere c.constraint_type = 'r'

and c.constraint_name = '??' )??

是你外來鍵的名字;spiderrobot 的方法也不錯,但是當前使用者要有 dba 許可權; user_constraints 只能查當前使用者的物件

9樓:匿名使用者

select owner ,table_name , constraint_name from user_constraints;

10樓:匿名使用者

select owner,table_name from dba_constraints where constraint_name=

(select r_constraint_name from dba_constraints where constraint_type='r' and constraint_name='***') ;

***是你外來鍵的名字

oracle為表建立外來鍵時沒有命名foreign key約束

繩樹枝浮辰 不用刪除表,資料庫會自動命名,名字可能是sys 這個能找到。如果有plsql那麼可以通過plsql的一個功能直接查到建表語句,這裡就有名字。要麼可以通過相關檢視根據欄位查到。檢視是user constraints或者dba constraints,裡面的欄位記不清楚了,自己查查吧。 匍地...

Oracle怎麼查詢其他使用者表中是否包含某個欄位

其實還是 司馬鑄劍 說的那張表,只不過要把 user tab columns 改為all tab columns 如果沒有這張表,我很少用all的表,經常用dba系列表,所以有沒有all的這張表我不確定,但是dba tab columns一定存在 這樣就可以找到該使用者能檢視的所有的表了。也就能知道...

資料庫表中的主鍵和外來鍵如何關聯

扈琇保瀚 主鍵 編輯本段 概念 主關鍵字 主鍵,primarykey 是被挑選出來,作表的行的惟一標識的候選關鍵字。一個表只有一個主關鍵字。主關鍵字又可以稱為主鍵。主鍵可以由一個欄位,也可以由多個欄位組成,分別成為單欄位主鍵或多欄位主鍵。編輯本段 作用 1 保證實體的完整性 2 加快資料庫的操作速度...