2012-03-26 6 views
2

Ich verwende eine einfache Insert-Anweisung, um den Wert in CLOB-Variable einzufügen, trotzdem bekomme ich diesen Fehler ORA-01756: Zeichenfolge in Anführungszeichen nicht ordnungsgemäß beendet.in Anführungszeichen Zeichenfolge nicht ordnungsgemäß terminiert

Ich versuchte, Wert in einzelne Zeile zu schreiben, aber ich hatte einen anderen Fehler, den ich nicht verwenden kann, dass 2500 Zeichen in der Zeile.

Wenn ich Zeilen getrennt, um weniger als 2500 zu sein, habe ich diesen Fehler ORA-01756: String in Anführungszeichen nicht ordnungsgemäß beendet.

habe ich die folgende Anweisung

INSERT INTO table(USER_PROFILE 
,NA_TO 
)VALUES(
'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo 
'); 
+0

, i getrennt nur die Zeile wie beispielsweise 'oooooooooooooooooooooooooo \ n ooooooooooooooooooooo \ n ooooooooooooooooooooooooo', wobei \ n neue Zeile. – user1021743

+0

Überarbeiteter Kommentar: Haben Sie versucht, den langen String als mehrere Strings zu schreiben, indem Sie eine Verkettungsfunktion (manchmal verfügbar als 'CONCAT') oder einen Operator (SQL-92 Standard' || ', SQL Server' + ') verwenden? – minopret

+0

Ich habe jetzt Oracle-Operator || versucht Aber funktioniert auch nicht, wenn Sie bitte, kann mir ein Beispiel für die Verwendung von CONCAT geben, verwende ich ORACLE – user1021743

Antwort

2

Bitte versuchen Sie die lange Zeichenfolge als mehrere Strings Schreiben mit Ihrer verfügbaren Verkettung Funktion (manchmal als CONCAT) oder Verkettungsoperator (SQL-92-Standard ||, SQL Server +, etc.). Auf diese Weise können Sie diese Fehler vermeiden, da kein einzelnes Zeichenfolgenliteral sehr lang sein muss.

Außerdem müssen Sie für jede Spalte, die Sie auflisten, einen Wert angeben. Auf der anderen Seite müssen Sie nicht alle Spalten in der Tabelle auflisten. No

INSERT INTO table(USER_PROFILE, NA_TO) VALUES(
'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 
'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 
'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 
'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 
'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 
<many more lines like those> 
'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo', 
null) 
+0

Danke Minopret für Ihre Hilfe, es hat funktioniert. – user1021743

Verwandte Themen