Xmltype 該sql能夠提取出xmltype類型數據中,所有<utext></utext>標簽下的值。 SYS_REFCURSOR動態游標的使用 SYS_REFCURSOR為動態游標,可在運行的時候動態決定執行查詢。 REF游標可作為參數傳遞(in/out都可以)。 需註意的是,用於接收游標結果 ...
Xmltype
select extractvalue(value(x), '//utext') value from table(XMLSEQUENCE(extract(v_xmlContent, '//utext'))) x;
該sql能夠提取出xmltype類型數據中,所有<utext></utext>標簽下的值。
SYS_REFCURSOR動態游標的使用
SYS_REFCURSOR為動態游標,可在運行的時候動態決定執行查詢。
REF游標可作為參數傳遞(in/out都可以)。
需註意的是,用於接收游標結果集的變數,其type與游標結果集必須完全一致,也就是列數量與數據類型能一一對應。
CREATE OR REPLACE PROCEDURE p_refcursor IS v_cur SYS_REFCURSOR; --定義動態游標 TYPE t_type IS RECORD( v_id VARCHAR2(3000), v_content clob); --自定義結果集類型 v_result t_type; --定義一個t_type類型的變數,用來存放後續查詢結果,或table%rowtype --v_result test%rowtype; v_sql VARCHAR(3000); BEGIN v_sql := 'select uniqueid,name from test'; --這裡sql語句可以是動態的(拼接變數),更加靈活 OPEN v_cur FOR v_sql; --打開游標 FETCH v_cur INTO v_result; --賦值給v_result WHILE v_cur%FOUND LOOP --游標迴圈 DBMS_OUTPUT.put_line(v_result.v_id || v_result.v_content); FETCH v_cur INTO v_result; --賦值下一條 END LOOP; CLOSE v_cur; --關閉游標 END;