Bonjour,
J'aimerai récupérer les éléments d'une requête qui me renvoie une réponse de type XMLELEMENT.
Voici ma requête :
je souhaite mapper l'element XSCHEMA (en clé) et mettre XTABLE, NAME, TYPE en attribut.
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
21
22
23
24
25
26
27
28
29 SELECT XMLELEMENT ("XSCHEMA", XMLAGG (XMLELEMENT ("XTABLE", xmlattributes (object_name AS "NAME", object_type AS "TYPE"), (SELECT XMLAGG (XMLELEMENT ("XCOLUMN", xmlattributes (column_name AS "NAME", data_type AS "TYPE", data_length AS "LENGTH", data_precision AS "PRECISION", data_scale AS "SCALE", nullable, column_id AS "INDEX" ) ) ) FROM user_tab_cols WHERE user_tab_cols.table_name = user_objects.object_name AND user_tab_cols.column_name not like 'SYS%$') ) ) ) AS xschema FROM user_objects WHERE user_objects.object_type IN ('TABLE') ;
je souhaite ensuite mapper l'element XTABLE (en clé) et mettre XCOLUMN, NAME, TYPE, LENGHT, NULLABLE en attribut.
Je ne sais pas trop comment récupérer les éléments de ma requête.
Voici comment se présente le résultat de celle-ci :
j'espère être clair....
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
21 <XSCHEMA> <XTABLE NAME="REFEDITION_REFTYPEEDITION" TYPE="TABLE"> <XCOLUMN NAME="IDTYPEEDITION" TYPE="NUMBER" LENGTH="22" PRECISION="10" SCALE="0" NULLABLE="N" INDEX="1"></XCOLUMN> <XCOLUMN NAME="IDEDITION" TYPE="NUMBER" LENGTH="22" PRECISION="10" SCALE="0" NULLABLE="N" INDEX="2"></XCOLUMN> </XTABLE> <XTABLE NAME="REFETATCADREJURID" TYPE="TABLE"> <XCOLUMN NAME="IDETATCADREJURID" TYPE="NUMBER" LENGTH="22" PRECISION="10" SCALE="0" NULLABLE="N" INDEX="1"></XCOLUMN> <XCOLUMN NAME="CODE" TYPE="VARCHAR2" LENGTH="10" NULLABLE="N" INDEX="2"></XCOLUMN> <XCOLUMN NAME="LIBELLE" TYPE="VARCHAR2" LENGTH="100" NULLABLE="N" INDEX="3"></XCOLUMN> <XCOLUMN NAME="DATEDEBUT" TYPE="DATE" LENGTH="7" NULLABLE="N" INDEX="4"></XCOLUMN> <XCOLUMN NAME="DATEFIN" TYPE="DATE" LENGTH="7" NULLABLE="Y" INDEX="5"></XCOLUMN> </XTABLE> <XTABLE NAME="REFETATCONTROLE" TYPE="TABLE"> <XCOLUMN NAME="IDETATCONTROLE" TYPE="NUMBER" LENGTH="22" PRECISION="10" SCALE="0" NULLABLE="N" INDEX="1"></XCOLUMN> <XCOLUMN NAME="CODE" TYPE="VARCHAR2" LENGTH="10" NULLABLE="N" INDEX="2"></XCOLUMN> <XCOLUMN NAME="LIBELLE" TYPE="VARCHAR2" LENGTH="100" NULLABLE="N" INDEX="3"></XCOLUMN> <XCOLUMN NAME="DATEDEBUT" TYPE="DATE" LENGTH="7" NULLABLE="N" INDEX="4"></XCOLUMN> <XCOLUMN NAME="DATEFIN" TYPE="DATE" LENGTH="7" NULLABLE="Y" INDEX="5"></XCOLUMN> </XTABLE> [...] </XSCHEMA>
Merci pour vos réponses.
Cdt,
Lynk..
Partager