web-dev-qa-db-ja.com

OracleのCLOBフィールドを更新しています

Oracleデータベースにデータ型CLOBのフィールドを持つテーブルがあります。フィールドの名前はXMLStringです。レコードごとに10,000文字のXML文字列を保存しています。このテーブルには100,000を超えるレコードがあります。

特定の場所で各レコードのXML文字列のセグメントを更新する必要があります。たとえば、14番目の各レコードを「MyNewtext」のような文字列で更新する必要があります。この置換テキストの長さは11文字です。つまり、これは単に14番目の文字から始まる11文字を置き換えることを意味します。

DBMS_LOB.FRAGMENT_REPLACEを使おうとしましたが、思った通りではありませんでした。

次のような簡単なコマンドはありますか

Replace(XMLString, 14, ‘My New text’) 

以下のようなことができるように?

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

どんな助けでもいただければ幸いです。

4
Shai

これを試して :-

テーブルセットの更新column = replace(column、 'hello'、 'abcded')