Update CLOB-Feld in Oracle

Hinweis:

Wenn Sie sind nicht sicher, was ich aksing, bitte geben Sie nicht negetive feedback.

Hier ist meine situation

Ich habe eine Tabelle in der Oracle-Datenbank-Feld mit dem Datentyp CLOB. Der name des Feldes ist XMLString. Ich bin die Speicherung von XML-Zeichenkette, die 10.000 Zeichen lange für jeden Datensatz. Ich habe mehr als 100 000 Datensätze in dieser Tabelle.

Nun habe ich eine situation, wo ich brauche zu aktualisieren segment der XML-string zu jedem Datensatz an der entsprechenden Stelle. Zum Beispiel muss ich jeden Datensatz aktualisieren, an der 14th position mit einigen Zeichenfolge wie "Mein Neuer text". Dieser Ersatz-text ist 11 Zeichen lang. Also das bedeutet einfach, es ersetzt 11 characers ab 14 Charakter.

Habe ich versucht zu verwenden DBMS_LOB.FRAGMENT_REPLACE, aber ist es nicht genau das, was ich wollte.

Ist es einfacher Befehl wie

Replace(XMLString, 14, My New text’) 

so, dass ich etwas tun kann, wie unten?

UPDATE MYTABLE 
SET MyClobField = Replace(MyClobField, 14, 'My New text')
WHERE MyTableID>5000

Jede mögliche Hilfe würde geschätzt.

InformationsquelleAutor Shai | 2012-11-26

Schreibe einen Kommentar