web-dev-qa-db-ja.com

SQL * Plusですべてのインデックス(暗黙のインデックスを含む)のリストを表示するにはどうすればよいですか?

SQL * Plusを使用して特定のテーブルのすべてのインデックスのリストを取得する方法はありますか?

テーブルを作成しました

CREATE TABLE temp(
id NUMBER PRIMARY KEY,
name VARCHAR2(20));

主キー(id)に暗黙のインデックスが作成されている必要があります。そのインデックスを確認するにはどうすればよいですか?

SELECT * FROM all_indexes WHERE table_name = 'temp';

与える

行が選択されていません

12
Moeb

SELECT INDEX_NAME FROM ALL_INDEXES WHERE TABLE_NAME = 'your_table '

注:検索を特定のスキーマに制限する場合は、次のこともできます。

SELECT INDEX_NAME FROM ALL_INDEXES WHERE TABLE_NAME = 'your_table' AND OWNER = 'your_owner'

これは、複数のスキーマで同じテーブル名を使用している可能性がある状況で役立ちます。

また、Oracleはテーブル名を大文字で格納するため、例では次のことを行う必要があることに注意してください。

select * from all_indexes where table_name = 'TEMP';
24
dcp

テーブル名は大文字でご記入ください

OR

SELECT * FROM all_indexes WHERE lower(table_name) = 'temp';
1
Amar Shah
SELECT * from USER_INDEXES
WHERE TABLE_NAME = UPPER('YourTableName')
1

データベース内のすべてのインデックスを表示したい場合は、試すことができます。

use information_schema;
SELECT * FROM statistics;
0
Ganesh Giri