Foutmelding Ora-00904 Invalid Identifier

Wat is een verwaarloosde expressiefout in SQL?

“Ontbrekende uitdrukking” betekent bijna altijd dat wanneer u probeert ervoor te zorgen dat u een verzoek wijzigt, een specifiek deel van de zin dat relevant is voor de functie ervan in de tekst is aangeboden. Heel eenvoudig, het negeren van een belangrijk deel van wat de persoon probeerde te doen, is uitgevoerd.

Fout Ora-00904 betekent dat u voor een van de volgende SQL-instructies een van de volgende handelingen wilt uitvoeren:

  1. De SQL-instructie bevat een ongeldige smile-naam.
  2. De SQL-instructie omvat een kolomnaam die momenteel vaak niet kan bestaan.

Deze fout komt het vaakst voor bij het opvragen van vrijwel elke SELECT-instructie.

Waarom heb ik Ora 00904, zelfs als de belangrijkste kolom aanwezig is?

Oracle retourneert ORA-00904 omdat u de aangemelde internetgebruiker bent en niet de juiste machtigingen heeft voor de objecten die bij het verzamelen zijn betrokken. Dit overkwam mij toen ik soms twee entiteiten definieerde naast een identieke persistente databasetabel. De problematische kolom was aanwezig in een van de tabellen en in de andere.

Om deze vaardigheidsfout op te lossen, moet u eerst controleren of de bepaalde kolomnaam bestaat. Anders moet u deze kolom hebben gemaakt voordat u de SQL-instructie waarmee clients gaan werken, kunt uitvoeren. Als alle kolomnamen nog steeds aanwezig zijn, kijk dan of het kolomwoordtype het meest efficiënte formaat heeft. Om een ​​smile-naam correct te laten blijven, moet deze voldoen aan de aandacht van het publiek:

  • Kolomnaam kan niet voor elk woord behouden blijven.
  • De om te beginnen met de letter van een smile-naam is een letter.
  • Feedidentiteit mag niet meer dan 50 tekens bevatten.
  • Kolomnaam moet alfanumeriek zijn.
  • De kolomnaam moet een van de volgende drie hoofdtekens bevatten: inkomen, # _,. Als de kolomhandtekening momenteel andere tekens bevat, moet alles worden omgeven door leestekens die verbeterd zijn.

Hier is een demonstratie van deze SQL-instructie die bestond uit de fout Ora-00904:

SELECT column_name in de rol van “column_id”

VAN tafel

BESTELLEN OP kolom-ID;

In zo’n oefening is de naam “column_id” een krachtige alias voor column_name, dat is wanneer specifiek gevraagd als column_id. Let op de volledige ontbrekende aanhalingstekens in de sec column_id. Om de fout op te lossen, volgt u de correcte syntaxis door “column_id” rrn toe te voegen tussen de dubbele labels:

ora 00904 ongeldige identificatiefout

SELECTEER kolomnaam van AS “column_id” verzekeringscitaat

VAN tafel

ora 00904 ongeldige identificatiefout

ORDER OP “column_id”;

Om in de toekomst geen fout Ora-00904 meer te maken, moet u ervoor zorgen dat de kolomnaam overeenkomt met uw controlecriteria voor een geldig kolommerk. Herschrijf het verzoek in overeenstemming met deze unieke in het normale formaat. Als je jezelf probeert te helpen een kolomnaam te begrijpen die niet aanwezig is, moet je een knuffel maken. Controleer altijd uw spelling.