2010-10-20 26 views
5

Làm thế nào để bạn làm việc với loại dữ liệu XML oracle?Giới thiệu nhanh về cách sử dụng loại dữ liệu oracle xml

Câu hỏi này có thể dùng để asked and answered của tôi, chỉ để chia sẻ thông tin với những người khác

+1

CÔNG VIỆC BAD. Hoặc có được một blog, hoặc làm cho cộng đồng wiki này !!! –

+3

Làm thế nào để bạn biến nó thành một "wiki cộng đồng"? Tôi đã được ấn tượng rằng làm điều này loại được khuyến khích, theo [stackoverflow faq] (http://stackoverflow.com/faq) – corydoras

+0

Nó vẫn phải là một câu hỏi, mặc dù. "Làm thế nào để tôi làm việc với" là một chút rộng. +1 anyway. – Thilo

Trả lời

8

SQL mẫu sau minh họa cách để chèn, truy vấn và cập nhật các lĩnh vực cơ sở dữ liệu có chứa các kiểu dữ liệu 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'); 
Các vấn đề liên quan