1

我需要更新一个包含特定数字的 XML 节点。如果我在数字中硬编码(见图 1),我的查询就可以工作,但我想通过传递一个包含字符串的变量(variableToBeReplaced)来使这个动态化。我目前写了这个(见图 2),但它没有正确读取变量,因此没有对 xml 进行任何更改。有谁知道如何在 updatexml() 函数中包含变量?

图1

select updateXML(xmltype(xmlbod),'/LpnList/Lpn/LicensePlateNumber[text() = "12345"]','67890').getClobVal() doc
from myTable
where id = '1'

图 2

select updateXML(xmltype(xmlbod), '/LpnList/Lpn/LicensePlateNumber[text()= '|| variableToBeReplaced || ']','67890').getClobVal() doc
from myTable
where id = '1'
4

1 回答 1

0

我只是在变量周围缺少“”。

select updateXML(xmltype(xmlbod), '/LpnList/Lpn/LicensePlateNumber[text()= "'|| variableToBeReplaced || '"]','67890').getClobVal() doc
from myTable
where id = '1'
于 2015-06-03T16:38:54.677 回答