Anda dapat menanyakan ALL_CONSTRAINTS
tampilan kinerja
untuk melihat batasan mana yang digunakan indeks, dan tabel mana yang diterapkan, mis:
select owner, constraint_name, constraint_type,
table_name, index_owner, index_name
from all_constraints
where index_name = 'PK_CHARGES';
Saya mengharapkan nama tabel menjadi 'CHARGES', nama kendala untuk mencocokkan nama indeks, dan jenis kendala menjadi 'P'. Tetapi karena Anda memiliki tabel dalam pikiran, mungkin nama-nama tersebut tidak mengikuti konvensi yang bermanfaat. Mungkin tabel versi lama diganti namanya, yang akan meninggalkan batasan terhadap nama baru (mis. CHARGES_BACKUP
atau sesuatu).
Anda bilang Anda mengklik meja, lalu pada tampilan. Mungkin Anda tidak melihat tabel di mana batasan/indeks aktif; atau mungkin Anda sedang melihat tampilan di atas tabel yang sebenarnya. Anda juga menyebutkan SYS_
indeks pada kolom yang sama - yang tidak dapat berada di tabel yang sama. Apakah Anda memiliki beberapa tabel serupa, atau akses ke beberapa skema? Anda harus menjalankan kueri di atas untuk indeks itu juga. Seperti yang disebutkan di atas, Anda mungkin menemukan versi lama (atau versi) tabel.
Setelah Anda mengidentifikasi tabel di mana batasan aktif, Anda harus memutuskan apakah Anda benar-benar harus menyimpannya, dan jika tidak, Anda dapat menghapusnya dengan menghapus batasan dengan ALTER TABLE
perintah.