PL / SQL:在UPDATEXML函数中使用变量

时间:2015-06-03 16:13:03

标签: sql plsql updatexml

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

1 个答案:

答案 0 :(得分:0)

我刚刚失踪""围绕变量。

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