oracle 快速介绍如何使用oracle xml数据类型
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/3975027/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-18 21:44:18 来源:igfitidea点击:
Quick introduction on how to use oracle xml data type
提问by corydoras
How do you work with the oracle XML data type?
您如何使用 oracle XML 数据类型?
This question is intended to be asked and answeredby me, just to share the information with others
这个问题是我来问和回答的,只是为了和其他人分享信息
回答by corydoras
The following sample SQL demonstrates how to insert, query and update database fields that contain the XMLTYPE data type:
以下示例 SQL 演示了如何插入、查询和更新包含 XMLTYPE 数据类型的数据库字段:
-- Create a table that can store XML
create table sample_xml (id number, xml xmltype);
-- Insert some XML into the table
insert into sample_xml values (1, xmltype.createxml('<subject><name>test</name><list><li>a</li><li>b</li></list></subject>'));
insert into sample_xml values (2, xmltype.createxml('<subject><name>test</name><list><li>a</li></list></subject>'));
-- When doing a select, refer to table using the alias or getClobVal() will not work
select t.id, t.xml.getClobVal() from sample_xml t;
-- Update text of a single xml element
UPDATE sample_xml SET xml = UPDATEXML(xml, '/subject/name/text()','happy') WHERE id = 2;
-- Select out just the name for each row in the table using xpath
select id, extractvalue(xml, '/subject/name/text()') from sample_xml;
-- Doing an sample_xml, where the xpath string matches two elements, the text of both elements will be updated
UPDATE sample_xml SET xml = UPDATEXML(xml, '/subject/list/li/text()','one');