ORA-00904-Fehler: Ungültiger Bezeichner
Problem:
Beim Versuch, Daten abzurufen Aus einer Tabelle mithilfe einer einfachen Abfrage, bei der die WHERE-Klausel eine Bedingung für einen Spaltenwert enthält, stoßen Sie auf ORA-00904 Fehler, der auf eine ungültige Kennung hinweist.
Zum Beispiel haben Sie eine Tabelle namens reg1 mit den folgenden Spalten erstellt:
create table reg1 ( fname varchar2(30), lname varchar2(30), addr varchar2(30), mail varchar2(30), occu varchar2(30), uname varchar2(30), passwd varchar2(30) );
Beim Ausführen einer Abfrage zum Abrufen des Vornamens (fname) und Nachname (lname) eines Benutzers mit dem Benutzernamen „bbb“ wie:
select fname, lname from reg1 where uname="bbb";
Sie erhalten die Fehlermeldung ORA-00904: „bbb“: ungültiger Bezeichner.
Antwort:
Der Fehler tritt auf, weil der Wert, mit dem Sie in der WHERE-Klausel vergleichen, nicht in einfache Anführungszeichen gesetzt ist. Wenn Sie in Oracle Zeichenfolgenwerte vergleichen, müssen Sie diese in einfache Anführungszeichen setzen, um anzuzeigen, dass es sich um Literale handelt.
Um das Problem zu beheben, fügen Sie einfach einfache Anführungszeichen um den Wert „bbb“ ein:
select fname, lname from reg1 where uname='bbb';
Mit dieser Korrektur ruft die Abfrage erfolgreich die Daten für den Benutzer mit dem Benutzernamen „bbb“ ab, da der Vergleich nun korrekt als Literal-String-Vergleich behandelt wird.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Abfragen meiner Oracle-Tabelle ORA-00904: „Ungültiger Bezeichner'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!