我需要更新一个包含特定数字的 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'