2016-07-22 6 views
0
SELECT * 
FROM BIG_ASS_DB 
where ID in (PLAN4808,LWVL4813,CPPLTXRS,FRBSTXHJ); 

Die Klammern enthalten eine Liste, die aus einer TXT-Datei kopiert wird. Dies ist ein verkürztes Beispiel. Der Fehler, den ich bekommen ist:SQL Oracle: <Col Val> == <Element in einer Liste von Zeichen>

ORA-00904: "CHWAHKAH": invalid identifier 
00904. 00000 - "%s: invalid identifier" 
*Cause:  
*Action: 
Error at Line: 3 Column: 9,739 

Vielen Dank im Voraus für Ihre Hilfe Art Damen und Herren

+0

Es würde helfen, etwas von dem Text statt "item1", "item2" und so weiter zu sehen. Aber basierend auf diesem Fehler gehe ich davon aus, dass ein Teil des kopierten Texts Zeichen wie% enthält, ein Platzhalter, der in SQL verwendet wird, wenn Zeichenfolgenvergleiche ausgeführt werden und Oracle versucht,% als Operator und nicht als tatsächlichen Text zu interpretieren? Nur eine Annahme. Bis ich einige Datenbeispiele sehe, kann ich nicht weiter helfen. –

+0

Ich habe die Frage dank Jonathon aktualisiert. Es gibt kein "%" irgendwo –

+0

@ JonathonOgden - du solltest deinen Kommentar kopieren, ihn als Antwort einfügen und deinen Kommentar löschen. Was Sie angegeben haben, ist die richtige Antwort. – mathguy

Antwort

0

Ihre ID Spalte Spalte ist ein Text Angenommen, Sie Listenelemente mit Anführungszeichen ' wie so umgeben müssen 'PLAN4808' wie sie Text sind.

Ohne Anführungszeichen interpretiert SQL sie als Bezeichner (wie die Fehlermeldung angibt) für ein Datenbankobjekt (Tabelle, Spaltenname, Funktion usw.) andernfalls.

Verwandte Themen