XMLType 2つのメソッドがあります:getStringVal() およびgetClobVal() これにより、XML構造が文字列表現に変換されます(VARCHAR2として) およびCLOB それぞれ)。 XML出力が常に4000文字(バイト)未満になることがわかっている場合を除いて、おそらくgetClobVal()を使用することをお勧めします。 このように:
PROCEDURE SEARCH_XML
(
P_ID_TRANSACTION IN TRANSACTION.ID_TRANSACTION%TYPE,
P_CURSOR OUT T_CURSOR
)
IS
BEGIN
OPEN P_CURSOR FOR
SELECT T.XML_IN.getClobVal() AS XML_IN,
T.XML_OUT.getClobVal() AS XML_OUT
FROM TRANSACTION T
WHERE T.ID_TRANSACTION = P_ID_TRANSACTION;
END SEARCH_XML;