Oracle データベースに、データ型のフィールドを持つテーブルがありますCLOB
。フィールドの名前は ですXMLString
。各レコードに 10,000 文字の長さの XML 文字列を保存しています。このテーブルには 100,000 を超えるレコードがあります。
特定の場所で各レコードの XML 文字列のセグメントを更新する必要があります。たとえば、「My New text」のような文字列を使用して、14 番目の位置にある各レコードを更新する必要があります。この置換テキストの長さは 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
どんな助けでも大歓迎です。