【发布时间】:2021-07-09 08:42:44
【问题描述】:
我是 SQL 新手,我想知道如何从下面的 XML 中获取值“123189”、“OK”和“OK”?我使用的是下面的 SELECT,但是当我调用此过程时,参数(nMaxRate、vMaxRateValid 和 vMaxRateVariation)保持为空。
选择:
select extractvalue(Value(t), '/soap:max_rate', ''),
extractvalue(Value(t), '/soap:max_rate_valid', ''),
extractvalue(Value(t), '/soap:max_rate_variation', '')
into nMaxRate , vMaxRateValid, vMaxRateVariation
from TABLE(xmlSequence(extract(response_xml, '/soap:check_avg_rateResponse/soap:check_avg_rateResult',
''))) t;
response_xml:
<senv:Envelope xmlns:senv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<senv:Body>
<soap:check_avg_rateResponse>
<soap:check_avg_rateResult>
<soap:max_rate>123189</soap:max_rate>
<soap:max_rate_valid>OK</soap:max_rate_valid>
<soap:max_rate_variation>OK</soap:max_rate_variation>
</soap:check_avg_rateResult>
</soap:check_avg_rateResponse>
</senv:Body>
</senv:Envelope>
【问题讨论】:
标签: sql oracle stored-procedures plsql plsql-package