Création et mise en place d'une table utilisant des données XML
Création et mise en place d'une table utilisant des données XML.
Nous voulons stocker les données des employés d'une entreprise. Pour des raisons historiques, l'entreprise nous a fourni ces données au format XML.
Étant donné le peu de temps que nous avons pour mettre en place cette base de données, nous voulons garder ce format de données.
Question
Créer une nouvelle table avec deux champs, un ID pouvant accueillir un entier numérique et un champ données dans lequel seront stockées les données des employées au format XML.
Indice
Le type SQL correspondant à des données XML est XMLType.
Solution
1
CREATE TABLE employes (
2
id NUMBER,
3
donnees XMLTYPE
4
);
Question
Insérez les données suivantes dans la table qui vient d'être créée.
1
<employes>
2
<employe id="1">
3
<nom>Tallulah</nom>
4
<prenom>Horne</prenom>
5
<salaire>3359</salaire>
6
<ddn>08-03-2016</ddn>
7
</employe>
8
<employe id="2">
9
<nom>Leonard</nom>
10
<prenom>Powers</prenom>
11
<salaire>3580</salaire>
12
<ddn>20-06-2016</ddn>
13
</employe>
14
<employe id="3">
15
<nom>Tarik</nom>
16
<prenom>Cole</prenom>
17
<salaire>2747</salaire>
18
<ddn>28-05-2015</ddn>
19
</employe>
20
<employe id="4">
21
<nom>Lucy</nom>
22
<prenom>Leblanc</prenom>
23
<salaire>2600</salaire>
24
<ddn>06-09-2016</ddn>
25
</employe>
26
<employe id="5">
27
<nom>Cyrus</nom>
28
<prenom>John</prenom>
29
<salaire>2072</salaire>
30
<ddn>25-01-2016</ddn>
31
</employe>
32
<employe id="6">
33
<nom>Maia</nom>
34
<prenom>John</prenom>
35
<salaire>3262</salaire>
36
<ddn>21-01-2015</ddn>
37
</employe>
38
<employe id="7">
39
<nom>Vance</nom>
40
<prenom>Compton</prenom>
41
<salaire>2445</salaire>
42
<ddn>02-05-2015</ddn>
43
</employe>
44
<employe id="8">
45
<nom>Signe</nom>
46
<prenom>Vang</prenom>
47
<salaire>2909</salaire>
48
<ddn>15-04-2015</ddn>
49
</employe>
50
<employe id="9">
51
<nom>Sean</nom>
52
<prenom>Lee</prenom>
53
<salaire>2043</salaire>
54
<ddn>09-03-2016</ddn>
55
</employe>
56
<employe id="10">
57
<nom>Shay</nom>
58
<prenom>Hatfield</prenom>
59
<salaire>2242</salaire>
60
<ddn>17-02-2015</ddn>
61
</employe>
62
</employes>
Indice
Le document XML doit être inséré dans une seule ligne.
Indice
Utiliser la fonction XMLType().
Solution
1
INSERT INTO employes
2
VALUES(1, XMLType('
3
<employes>
4
<employe id="1">
5
<nom>Tallulah</nom>
6
<prenom>Horne</prenom>
7
<salaire>3359</salaire>
8
<ddn>08-03-2016</ddn>
9
</employe>
10
<employe id="2">
11
<nom>Leonard</nom>
12
<prenom>Powers</prenom>
13
<salaire>3580</salaire>
14
<ddn>20-06-2016</ddn>
15
</employe>
16
<employe id="3">
17
<nom>Tarik</nom>
18
<prenom>Cole</prenom>
19
<salaire>2747</salaire>
20
<ddn>28-05-2015</ddn>
21
</employe>
22
<employe id="4">
23
<nom>Lucy</nom>
24
<prenom>Leblanc</prenom>
25
<salaire>2600</salaire>
26
<ddn>06-09-2016</ddn>
27
</employe>
28
<employe id="5">
29
<nom>Cyrus</nom>
30
<prenom>John</prenom>
31
<salaire>2072</salaire>
32
<ddn>25-01-2016</ddn>
33
</employe>
34
<employe id="6">
35
<nom>Maia</nom>
36
<prenom>John</prenom>
37
<salaire>3262</salaire>
38
<ddn>21-01-2015</ddn>
39
</employe>
40
<employe id="7">
41
<nom>Vance</nom>
42
<prenom>Compton</prenom>
43
<salaire>2445</salaire>
44
<ddn>02-05-2015</ddn>
45
</employe>
46
<employe id="8">
47
<nom>Signe</nom>
48
<prenom>Vang</prenom>
49
<salaire>2909</salaire>
50
<ddn>15-04-2015</ddn>
51
</employe>
52
<employe id="9">
53
<nom>Sean</nom>
54
<prenom>Lee</prenom>
55
<salaire>2043</salaire>
56
<ddn>09-03-2016</ddn>
57
</employe>
58
<employe id="10">
59
<nom>Shay</nom>
60
<prenom>Hatfield</prenom>
61
<salaire>2242</salaire>
62
<ddn>17-02-2015</ddn>
63
</employe>
64
</employes>
65
'));
66