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 加快資料庫的操作速度...