1. 程式人生 > >Oracle查詢使用者所有的表、包、包體、過程、函式等資訊

Oracle查詢使用者所有的表、包、包體、過程、函式等資訊

-- 查詢所有使用者的表,檢視等

select * from all_tab_comments
  
-- 查詢本使用者的表,檢視等
select * from user_tab_comments 

--查詢所有使用者的表的列名和註釋.
select * from all_col_comments
 
 -- 查詢本使用者的表的列名和註釋
select * from user_col_comments
 

--查詢所有使用者的表的列名等資訊(詳細但是沒有備註).
select * from all_tab_columns


 --查詢本使用者的表的列名等資訊(詳細但是沒有備註).
select * from user_tab_columns
 
--一般使用1:  
select t.table_name,t.comments from user_tab_comments t
 
--一般使用2:
select r1, r2, r3, r5
from (select a.table_name r1, a.column_name r2, a.comments r3
          from user_col_comments a),
       (select t.table_name r4, t.comments r5 from user_tab_comments t)
where r4 = r1
 
以上就是oracle查詢使用者所有表的語句介紹。
 
如何在oracle中查詢所有使用者表的表名、主鍵名稱、索引、外來鍵等
 
1、查詢表的所有索引(包括索引名,型別,構成列):
select t.*,i.index_type from user_ind_columns t,user_indexes i
where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查詢的表   
2、查詢表的主鍵(包括名稱,構成列):   
select cu.* from user_cons_columns cu, user_constraints au
where cu.constraint_name = au.constraint_name and au.constraint_type = 'P' and au.table_name = 要查詢的表    
 
3、查詢表的唯一性約束(包括名稱,構成列):
select column_name from user_cons_columns cu, user_constraints au
where cu.constraint_name = au.constraint_name and au.constraint_type = 'U' and au.table_name = 要查詢的表   
4、查詢表的外來鍵(包括名稱,引用表的表名和對應的鍵名,下面是分成多步查詢):   
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 = 外來鍵引用表的鍵名    
5、查詢表的所有列及其屬性   
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 = 要查詢的表

-----查詢使用者所有的包、包體、過程、函式
select * from dba_source where OWNER='使用者名稱' AND TYPE='PROCEDURE' ;
-----查詢表定義語句
select dbms_metadata.get_ddl('TABLE','表名','使用者名稱') from dual;