金仓数据库KingbaseES 原生XML系列五--XML关系表函数
在金仓数据库KingbaseES中,可以使用XML关系表函数来处理和查询XML数据。以下是一个使用XML关系表函数的例子:
假设我们有一个包含XML类型列的表xml_table
,我们想要查询这个表中的XML数据。
-- 创建示例表和插入XML数据
CREATE TABLE xml_table (
id serial PRIMARY KEY,
xml_data XML
);
INSERT INTO xml_table (xml_data) VALUES ('
<root>
<child attr="value1">text1</child>
<child attr="value2">text2</child>
</root>
');
现在,我们可以使用XML关系表函数来查询这些数据:
-- 使用xmltable函数来查询XML数据
SELECT t.id, x.*
FROM xml_table t,
xmltable('/root/child' passing t.xml_data
columns child_text VARCHAR(100) path 'text()',
attr_value VARCHAR(100) path '@attr') as x;
这个查询将会返回每个<child>
节点的文本内容和属性值。xmltable
函数通过传递xml_data
字段,并定义了两个列(child_text
和attr_value
)来从XML文档中提取数据。path
表达式用于指定如何定位XML中的元素和属性。
评论已关闭