Oracle中查詢表的資訊

2021-08-31 17:04:09 字數 4133 閱讀 6200

查詢oracle表的資訊:[url]

[url]

根據表名查詢外來鍵表,外來鍵名稱

select u1.constraint_name, u1.table_name as p_table, u2.table_name

from user_constraints u1, user_constraints u2

where

u1.constraint_type='r' and

u1.r_constraint_name = u2.constraint_name and

u2.table_name='hr_title'

select b.constraint_name as foreign_key,b.column_name,u3.table_name as refer_table,u3.column_name as refer_column,'' as remark--,au.* 

from user_cons_columns b, user_constraints au ,

(select u1.constraint_name, u1.table_name as p_table, u2.table_name,u3.column_name

from user_constraints u1, user_constraints u2 ,user_cons_columns u3

where

u1.constraint_type='r' and

u1.r_constraint_name = u2.constraint_name and u2.constraint_name=u3.constraint_name

) u3

where b.constraint_name = au.constraint_name

and b.constraint_name=u3.constraint_name

and au.constraint_type = 'r'

and au.table_name ='hrst_personal_info'

查詢使用者所有表

select   table_name   from   user_tables; 

select table_name from dba_tables where owner= 'username ';

在oracle中改如何以下的sql語句:

1. 檢視乙個使用者下的所有序列。

2. 檢視乙個使用者下的所有儲存過程。

3. 檢視乙個使用者下的所有觸發器。

select object_name from dba_objects where owner= ' ' and object_type in ( 'sequence ', 'procedure ', "trigger ')

1、查詢出所有的使用者表

select * from user_tables 可以查詢出所有的使用者表

通過表名過濾需要將字母作如下處理

select * from user_tables where table_name = upper('表名')

因為無論你建立表的時候表名名字是大寫還是小寫的,create語句執行通過之後,對應的user_tables表中的table_name欄位都會自動變為大寫字母,所以必須通過內建函式upper將字串轉化為大寫字母進行查詢,否則,即使建表語句執行通過之後,通過上面的查詢語句仍然查詢不到對應的記錄。

2、查詢出使用者所有表的索引

select * from user_indexes

3、查詢使用者表的索引(非聚集索引):

select * from user_indexes where uniqueness='nonunique'

4、查詢使用者表的主鍵(聚集索引):

select * from user_indexes where uniqueness='unique'

5、查詢表的索引

select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and

t.table_name='node'

6、查詢表的主鍵

select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and

au.constraint_type = 'p' and cu.table_name = 'node'

7、查詢表的唯一性約束(包括名稱,構成列):

select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name=au.constraint_name and

cu.table_name='node'

8、查詢表的外來鍵

select * from user_constraints c where c.constraint_type = 'r' and c.table_name='staffposition'

查詢外來鍵約束的列名:

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

查詢引用表的鍵的列名:

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

9、查詢表的所有列及其屬性

方法一:

select * from user_tab_columns where table_name=upper('表名');

方法二:

select cname,coltype,width from col where tname=upper('表名');;

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 = 要查詢的表

查詢Oracle表空間資訊

1.檢視當前使用者每個表占用空間的大小 select segment name,sum bytes 1024 1024 from user extents group by segment name 2.檢視每個表空間占用空間的大小 select tablespace name,sum bytes ...

oracle 查詢鎖表資訊

select a.owner 方案名,a.object name 表名,b.xidusn 回滾段號,b.xidslot 槽號,b.xidsqn 序列號,b.session id 鎖表session id,b.oracle username 鎖表使用者名稱,decode d.type,xr null ...

查詢Oracle表空間資訊

1.檢視當前使用者每個表占用空間的大小 select segment name,sum bytes 1024 1024 from user extents group by segment name 2.檢視每個表空間占用空間的大小 select tablespace name,sum bytes ...