Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 在Oracle中更新Clob列_Xml_Oracle_Clob - Fatal编程技术网

Xml 在Oracle中更新Clob列

Xml 在Oracle中更新Clob列,xml,oracle,clob,Xml,Oracle,Clob,我有一个名为ABC的表,其中包含CLOB数据。我想更新列,以便在此Clob列的特定位置插入字符串 要插入的字符串: <nv_pair> <name identifier="XYZ"></name> <value identifier="XYZ"></value> </nv_pair> Clob数据: <form> <nv_pair></nv_pair> <nv_pair>

我有一个名为ABC的表,其中包含CLOB数据。我想更新列,以便在此Clob列的特定位置插入字符串

要插入的字符串:

<nv_pair>
<name identifier="XYZ"></name>
<value identifier="XYZ"></value>
</nv_pair>

Clob数据:

<form> <nv_pair></nv_pair> <nv_pair></nv_pair><nv_pair></nv_pair><nv_pair></nv_pair></form>


要插入的位置:就在

之前,请查看DBMS\u LOB包


顺便说一句,也许值得探讨一下放弃CLOB并使用Oracle内置XML功能的可能性(尽管我不太熟悉)。

根据您拥有的Oracle版本,您可以使用regexp\u replace函数:

update abc
set clob_val =
  regexp_replace(clob_val,
                 '^(.+)(</form>)',
                 '\1<nv_pair><name identifier="XYZ"></name><value identifier="XYZ">/value>/nv_pair>\2')
where ...
更新abc
设置clob_val=
regexp_替换(clob_val,
'^(.+)()',
“\1/值>/nv\U对>\2”)
哪里

+1表示xmltype建议,尽管它将取决于数据库版本是否可能(且建议)切换。