Du kan forespørge på ALL_CONSTRAINTS
ydeevnevisning
for at se, hvilken begrænsning indekset bruges af, og hvilken tabel det gælder for, f.eks.:
select owner, constraint_name, constraint_type,
table_name, index_owner, index_name
from all_constraints
where index_name = 'PK_CHARGES';
Jeg forventer, at tabelnavnet er 'CHARGES', at begrænsningsnavnet matcher indeksnavnet, og at begrænsningstypen er 'P'. Men da du har en tabel i tankerne, følger navnene måske ikke en nyttig konvention. Måske blev en gammel version af tabellen omdøbt, hvilket ville efterlade begrænsningerne mod det nye navn (f.eks. CHARGES_BACKUP
eller noget).
Du sagde, du klikkede på bordet og derefter på visningen. Måske ser du ikke på den tabel, som begrænsningen/indekset er på; eller måske ser du på en visning oven på selve bordet. Du nævner også en SYS_
indeks på de samme kolonner - som ikke kan være på samme tabel. Har du flere lignende tabeller eller adgang til flere skemaer? Du skal også køre ovenstående forespørgsel for det indeks. Som nævnt ovenfor, kan du finde en gammel version (eller versioner) af tabellen.
Når du har identificeret, hvilken tabel begrænsningen er på, skal du beslutte, om du faktisk skal beholde den, og hvis ikke du kan fjerne den ved at droppe begrænsningen med en ALTER TABLE
kommando.