oracle對於資料庫中的表資訊,儲存在系統表中。查詢已建立好的表索引,可透過相應的sql語句到相應的表中進行快捷的查詢:
1. 根據表名,查詢一張表的索引
select * from user_indexes where table_name=upper("表名");
2. 根據索引號,查詢表索引欄位
select * from user_ind_columns where index_name=("索引名");
3.根據索引名,查詢建立索引的語句
select dbms_metadata.get_ddl("INDEX","索引名", ["使用者名稱"]) from dual ; --["使用者名稱"]可省,預設為登入使用者
PS:dbms_metadata.get_ddl還可以得到建表語句,如:
SELECT DBMS_METADATA.GET_DDL("TABLE","表名", ["使用者名稱"]) FROM DUAL ; //取單個表的建表語句,["使用者名稱"]可不輸入,預設為登入使用者SELECT DBMS_METADATA.GET_DDL("TABLE",u.table_name) FROM USER_TABLES u; //取使用者下所有表的建表語句
當然,也可以用pl/sql developer工具來檢視相關的表的各種資訊。
oracle對於資料庫中的表資訊,儲存在系統表中。查詢已建立好的表索引,可透過相應的sql語句到相應的表中進行快捷的查詢:
1. 根據表名,查詢一張表的索引
select * from user_indexes where table_name=upper("表名");
2. 根據索引號,查詢表索引欄位
select * from user_ind_columns where index_name=("索引名");
3.根據索引名,查詢建立索引的語句
select dbms_metadata.get_ddl("INDEX","索引名", ["使用者名稱"]) from dual ; --["使用者名稱"]可省,預設為登入使用者
PS:dbms_metadata.get_ddl還可以得到建表語句,如:
SELECT DBMS_METADATA.GET_DDL("TABLE","表名", ["使用者名稱"]) FROM DUAL ; //取單個表的建表語句,["使用者名稱"]可不輸入,預設為登入使用者SELECT DBMS_METADATA.GET_DDL("TABLE",u.table_name) FROM USER_TABLES u; //取使用者下所有表的建表語句
當然,也可以用pl/sql developer工具來檢視相關的表的各種資訊。