Nếu bạn đã tạo bảng với ràng buộc khóa chính, thì bạn đã có một chỉ mục duy nhất trên các trường thuộc PK; chỉ mục này đã được tạo khi bạn thêm ràng buộc PK và có tên không có ý nghĩa:
SQL> create table TEST_PK_IDX(id number primary key, descr varchar2(100));
Table created.
SQL> select index_name, uniqueness, column_name
2 from user_ind_columns c
3 inner join user_indexes i
4 using (index_name)
5 where i.table_name = 'TEST_PK_IDX';
INDEX_NAME UNIQUENESS COLUMN_NAME
-------------------- -------------------- --------------------
SYS_C007838 UNIQUE ID
Tuy nhiên, nếu bạn cần tạo một chỉ mục khác, bạn có thể sử dụng:
SQL> create index idx_test on test_pk_idx(descr);
Index created.
SQL> select index_name, uniqueness, column_name
2 from user_ind_columns c
3 inner join user_indexes i
4 using (index_name)
5 where i.table_name = 'TEST_PK_IDX';
INDEX_NAME UNIQUENESS COLUMN_NAME
-------------------- -------------------- --------------------
SYS_C007838 UNIQUE ID
IDX_TEST NONUNIQUE DESCR
SQL>