Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Penegakan kunci unik/utama - jatuhkan indeks

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hubungkan OEM Anda ke Grafana menggunakan Aplikasi Manajer Perusahaan untuk Grafana

  2. Apakah mungkin untuk menghasilkan model Django dari database?

  3. Mengapa DECODE Oracle memberi saya nilai yang berbeda dari NVL?

  4. Sesi server ORACLE diakhiri oleh kesalahan fatal

  5. Melewati array Objek dari Java ke fungsi PL/SQL