Oracle insert String mit Hochkommata

Hallo,

anderes Problem.

Wenn ich das alert.log auslese, dann bekomme ich auch Strings mit ‚‘ im Text

Bsp. ALTER SYSTEM SET max_dump_file_size=‚10240‘ SCOPE=MEMORY;

Der String ist in plsql in einer variablen, die ich dann in die Tabelle schreiben will.

execute immediate ‚insert into alert_log_hist (ORIGINATING_TIMESTAMP,MESSAGE_TEXT) values (‘||msg_timestamp||’, ‚||msg_text||‘)’;

Ich bekomme nur immer die Fehlermeldung
FEHLER in Zeile 1:
ORA-00917: Komma fehlt
ORA-06512: in Zeile 43
was, so wie´s aussieht an dem ‚10240‘ liegt.

ich habe auch schon gesucht und das gefunden
/t/hochkomma-insert-aus-textfile-nach-oracle/184418
und
http://sql-plsql-de.blogspot.com/2007/05/quote-zeich…

Aber die Funktion ist mir zu kryptisch - ich bekomme die nicht erzeugt (Geben Sie einen Wert f³r ch ein:smile:?
Die Variante mit dem p’# …#’ bekomme ich auch nicht richtig eingebaut.

Mit der Bitte um Erleuchtung,

grüßend

Chris

Hi!

execute immediate ‚insert into alert_log_hist
(ORIGINATING_TIMESTAMP,MESSAGE_TEXT) values
(‘||msg_timestamp||’, ‚||msg_text||‘)’;

Aus der Hüfte geschossen:
(aus einem ’ wird in einem String ein ‚‘, dann funktioniert’s)

execute immediate ‚insert into alert_log_hist (ORIGINATING_TIMESTAMP,MESSAGE_TEXT) values (‘’’||msg_timestamp||’’’, ‚‘’||msg_text||’’’)’;

Warum 3 '? Die ersten zwei ’ stellen ein ’ dar, das dritte ’ beendet den String (vor der Pipe)

Grüße,
Tomh

Hi Tomh,

ich bin schön reingefallen, die Meldung kam nicht von meinem String, sondern von dem Datumswert davor.
die Variable ist zwar eine date-variable, aber bei dem Insert wird das anscheinend ignoriert.

Die Hochkommata im String habe ich jetzt trotzdem auch noch raus, wer weiß was es sonst noch für Seiteneffekte gäbe…

msg_text := REPLACE(arec.line,’’’’,’’);

Danke und Grüße

Chris