XMLType
a deux méthodes :getStringVal()
et getClobVal()
qui convertira la structure XML en leurs représentations sous forme de chaîne (sous forme de VARCHAR2
et CLOB
respectivement). Sauf si vous savez que votre sortie XML sera toujours inférieure à 4000 caractères (octets), vous voudrez probablement utiliser getClobVal()
comme ceci :
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;