Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Einfügen einer Zeichenfolge mit doppelten Anführungszeichen in eine Tabelle

Ein doppeltes Anführungszeichen wird verwendet, um einen angeführter Bezeichner , also ein Objektname, der nicht nur aus alphanumerischen Zeichen besteht, $ und # . Abgesehen davon wird empfohlen, dies nicht zu tun Bezeichner in Anführungszeichen verwenden. Dies ist der Grund für Ihren ursprünglichen ORA-00984-Fehler. Oracle geht davon aus, dass "tes" ist eine Spalte, kein String, und Sie können keinen Spaltennamen in der VALUES-Klausel einer INSERT-Anweisung verwenden, wie in der Fehlermeldung erklärt .

Um den String einzufügen "tes" in eine Tabelle müssen Sie sicherstellen, dass sie zitiert ist richtig :

Jedes Zeichen kann Teil einer Zeichenkette sein. Um also ein doppeltes Anführungszeichen in eine Tabelle einzufügen, müssen Sie es in einfache Anführungszeichen setzen.

insert into users (id, name, username) 
values (null, '"tes"', '"hello"');

Hier ist ein SQL Fiddle zu demonstrieren.

Eine zusätzliche Sache zu beachten. Sie geben an, dass diese Abfrage automatisch generiert wird, was bedeutet, dass Sie darf anfällig für SQL-Injection sein. Ich würde dringend empfehlen, etwas über Bind-Variablen in Guarding Against zu lesen SQL-Injection .