我们正在使用带有 XMLDB 安装的 Oracle 11g 数据库。我们有带有 XMLType 列的表。XML 的结构对于表中的所有行都是相同的。该表还将有其他字段。
现在我只想从所有行中检索特定节点的属性值的值,并将其作为带有一些其他关系字段的字符串。检索到的表列可以是 TemplateId、TemplateVid、TemplatepartId。
XML的结构可以如下:
<Template ID=1000 VID=1>
<TemplateParts>
<Template ID="4000" VID="1"/>
<Template ID="4001" VID="1"/>
</TemplateParts>
</Template>
因此,该表将包含具有 TemplateId、Vid 和 TemplateXML 的模板数据。TemplateXML 字段是一个 XMLType 字段。现在我想以 XML 表的形式检索所有 TemplateId、Vid 及其引用的模板 partId。输出应如下所示:
TemplateId - TemplateVid - TemplatePartId - TemplatepartVid
1000 1 4000 1
1000 1 4001 1
所以任何人都想出一个正确的 Xquery 来满足上述要求。