繁体   English   中英

使用SQL查询更新XMLTYPE列

[英]Update a column of XMLTYPE using a SQL query

我必须更新下表中的limit_xml列:

TEST:
id        NUMBER(32);
limit_xml XMLTYPE;

UPDATE test
SET limit_xml = '<XML>'
WHERE id = 20;

我不打算替换XML中的某些部分,而是替换整个XML。

但是上面的sql不起作用。 我认为这是由于XML内容庞大。 XML包含200多个字符。

有没有办法做到这一点?

SQL> create table xml_tab(xml XMLType);

Table created.

SQL> insert into xml_tab values ('
  2  <Common>
  3   <Field>
  4    <Label>Begin Date </Label>
  5    <Value Name="BEG_DATE">02.05.2006</Value>
  6    </Field>
  7   <Field>
  8    <Label>End Date</Label>
  9    <Value Name="END_DATE">01.06.2016</Value>
 10   </Field>
 11   <Field>
 12    <Label>type</Label>
 13    <Value Name="TYPE">Example</Value>
 14   </Field>
 15  </Common>
 16  ');

1 row created.

SQL> UPDATE xml_taB
  2     SET xml = updateXML(xml,
  3                         '/DATA/Common/Field/Value[@Name="END_DATE"]/text()',
  4                         '02.06.2017');

1 row updated.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM