Oracle XML DB

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
PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimer Baptiste Montangé, Thomas Coutant, Mohamed Madiou Diallo, 2014-2016 (Contributions : Stéphane Crozat, les étudiants de l'UTC) Paternité - Partage des Conditions Initiales à l'IdentiqueRéalisé avec Scenari (nouvelle fenêtre)