Du kan fråga ALL_CONSTRAINTS
prestandavy
för att se vilken begränsning indexet används av och vilken tabell det gäller, t.ex.:
select owner, constraint_name, constraint_type,
table_name, index_owner, index_name
from all_constraints
where index_name = 'PK_CHARGES';
Jag förväntar mig att tabellnamnet är 'CHARGES', att begränsningsnamnet matchar indexnamnet och att begränsningstypen är 'P'. Men eftersom du har en tabell i åtanke, kanske namnen inte följer en användbar konvention. Kanske döptes en gammal version av tabellen om, vilket skulle lämna restriktioner mot det nya namnet (t.ex. CHARGES_BACKUP
eller något).
Du sa att du klickade på bordet och sedan på vyn. Du kanske inte tittar på tabellen som begränsningen/indexet är på; eller kanske du tittar på en vy ovanpå själva bordet. Du nämner också en SYS_
index på samma kolumner - som inte kan vara i samma tabell. Har du flera liknande tabeller eller tillgång till flera scheman? Du ska köra ovanstående fråga för det indexet också. Som nämnts ovan kan du hitta en gammal version (eller versioner) av tabellen.
När du har identifierat vilken tabell begränsningen är på, måste du bestämma om du faktiskt ska behålla den, och om inte kan du ta bort den genom att släppa begränsningen med en ALTER TABLE
kommando.