J'ai une fonction dans un package qui prend un objet de type dbms_xmlDom.DOMNode en paramètre et qui retourne un varchar2.

Dans un bloc pl, je test la fonction en affectant son résultat à une variable, j'obtient bien le résultat attendu.
Si maintenant, je fais un insert dans une table et comme value, je met la fonction, j'ai l'erreur ORA-06550 expression du mauvais type



Version ora 9.0.2

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
 
 
declare
    objDoc dbms_xmlDom.DOMDocument;
    objNode dbms_xmlDom.DOMNode;
    v varchar2(10);
begin
 
    v:='<root><ART><FUS></FUS></ART></root>';
 
    objDoc:=LIBRARY.LIB_PG_XML.GetDocument(v)
    objNode:=dbms_xslprocessor.selectSingleNode(dbms_xmlDom.MakeNode(dbms_xmlDom.GetDocumentElement(objDoc)), '/root/ART');
 
 
insert into espion values(LIBRARY.LIB_PG_XML.GetNodeValue2(objNode));
 
v :=LIBRARY.LIB_PG_XML.GetNodeValue2(objNode);
 
end;
Edit par bouyao