我是XMLTYPE
數據處理的新手,所以它可能只是一個非常簡單的查詢,我無法弄清楚。請讓我知道我錯了。從xmltype獲取數據時出錯
錯誤我正在嘗試使用下面的代碼時收到錯誤。
ORA-06550: line 28, column 54:
PL/SQL: ORA-00933: SQL command not properly ended
ORA-06550: line 22, column 3:
PL/SQL: SQL Statement ignored
ORA-06550: line 29, column 4:
PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following:
這是我的代碼。
DECLARE
x XMLTYPE :=XMLTYPE('<?xml version="1.0" ?>
<person>
<row>
<name>Tom</name>
<Address>
<State>California</State>
<City>Los angeles</City>
</Address>
</row>
<row>
<name>Jim</name>
<Address>
<State>California</State>
<City>Los angeles</City>
</Address>
</row>
</person>');
l_city VARCHAR2(20);
l_state VARCHAR2(20);
l_name VARCHAR2(20);
BEGIN
SELECT EXTRACT(VALUE(p),'//name/text()') AS "Name",
extract(value(p),'/Address//State/text()') AS "State",
extract(value(p),'/Address//City/text()') AS "City"
FROM dual,
TABLE(XMLSEQUENCE(EXTRACT(x,'//person/row/'))) p;
END;
你只是有一個語法錯誤。在PL/SQL中,你必須使用'SELECT INTO'。請參閱Oracle PL/SQL文檔。 – user272735