在PL/SQL中,您可以使用XMLQuery函數來查詢XML數據
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;
/
在這個示例中,我們使用XMLQuery函數查詢ID為101的員工的姓名。我們將查詢路徑、變量和返回值傳遞給XMLQuery函數。最后,我們將結果存儲在v_name變量中并輸出。
注意:在實際應用中,請確保正確處理可能的異常,例如XML數據不存在或查詢路徑無效等情況。