在PL/SQL中,您可以使用XMLQuery函數(shù)來(lái)查詢XML數(shù)據(jù)
CREATE TABLE xml_data (
id NUMBER PRIMARY KEY,
xml_content XMLType
);
INSERT INTO xml_data (id, xml_content) VALUES (
1,
XMLType('<employees>
<employee>
<id>101</id>
<name>John Doe</name>
<email>john.doe@example.com</email>
</employee>
<employee>
<id>102</id>
<name>Jane Smith</name>
<email>jane.smith@example.com</email>
</employee>
</employees>')
);
COMMIT;
DECLARE
v_id NUMBER := 101;
v_name VARCHAR2(100);
BEGIN
SELECT XMLQuery(
'for $i in /employees/employee
where $i/id = $id_value
return $i/name'
PASSING xml_content AS "emp", v_id AS "id_value"
RETURNING CONTENT
).getstringval()
INTO v_name
FROM xml_data
WHERE id = 1;
DBMS_OUTPUT.put_line('Employee name: ' || v_name);
END;
/
在這個(gè)示例中,我們使用XMLQuery函數(shù)查詢ID為101的員工的姓名。我們將查詢路徑、變量和返回值傳遞給XMLQuery函數(shù)。最后,我們將結(jié)果存儲(chǔ)在v_name變量中并輸出。
注意:在實(shí)際應(yīng)用中,請(qǐng)確保正確處理可能的異常,例如XML數(shù)據(jù)不存在或查詢路徑無(wú)效等情況。