Reputation: 370
I'm getting Error(8,3): PL/SQL: SQL Statement ignored and Error(8,10): PL/SQL: ORA-00904: "XMLELEMENT": invalid identifier in the following procedure:
CREATE OR REPLACE PROCEDURE GETXMLTREE
(
p_ESTABELECIMENTOID IN NUMBER
, MYXML OUT VARCHAR2
)
AS
BEGIN
SELECT XMLELEMENT --line 8
into MYXML
("root",
(select dbms_xmlgen.getxmltype
(dbms_xmlgen.newcontextfromhierarchy
('SELECT level,
XMLElement("item",XMLAttributes(osusr_kfa_estabele.id as "id"),
XMLElement("content", XMLElement("name", nomecompleto)))
from osusr_kfa_estabele
start with osusr_kfa_estabele.id = p_ESTABELECIMENTOID
connect by nocycle prior osusr_kfa_estabele.id = osusr_kfa_estabele.estabelecimetnopaiid' ))
from dual))
from dual;
END GETXMLTREE;
Any clues to why this is happening? Thanks
Upvotes: 0
Views: 2959
Reputation: 132580
Your INTO is in the wrong place. Try:
SELECT XMLELEMENT --line 8
("root",
(select dbms_xmlgen.getxmltype
(dbms_xmlgen.newcontextfromhierarchy
('SELECT level,
XMLElement("item",XMLAttributes(osusr_kfa_estabele.id as "id"),
XMLElement("content", XMLElement("name", nomecompleto)))
from osusr_kfa_estabele
start with osusr_kfa_estabele.id = p_ESTABELECIMENTOID
connect by nocycle prior osusr_kfa_estabele.id = osusr_kfa_estabele.estabelecimetnopaiid' ))
from dual))
into MYXML
from dual;
Upvotes: 6