Developpez.com - SGBD & SQL
X

Choisissez d'abord la catégorieensuite la rubrique :


Requêtes INSERT avec Oracle 9i DataBase

07/09/2003

Par giminik (Matthieu Petiot) (autres articles)
 

niveau : assez facile

durée : 15 minutes

Cet article vous guidera dans l'insertion de données dans des tables déjà existantes. Il est destiné aux débutants qui souhaitent apprendre et visualiser les résultats que produisent les requêtes SQL. Il suppose toutefois que vous ayez tout de même quelques connaissances du SQL.
J'adresse mes remerciements à armatatuxa qui a gracieusement relu cet article et corrigé les fautes d'orthographe.


Introduction
1. Insertion des informations dans la table localisation
2. Insertion des informations dans la table departement
3. Insertion des informations dans la table fonction
4. Insertion des informations dans la table employe
4.1. Organigramme
4.2. Quelques précautions
4.3. Requêtes d'insertion
5. Valider la transaction
6. Conclusion


Introduction


Nous allons maintenant passer à l'insertion des données. Ces données seront entrées suivant un ordre bien précis. Le même ordre que celui de la création des tables. Enfin suivant un organigramme hiérarchique d'une société X, il faudra insérer les employés du plus haut placé au plus bas (ceci est dû à la clé étrangère supEmp).


1. Insertion des informations dans la table localisation


Nous allons créer 5 localisations avec leur numéro de clé (nous verrons plus tard pour l'incrémentation automatique) : Dole, Besancon, Belfort, Dijon, et Vesoul, ce sont des villes de ma région ;-)

INSERT INTO localisation
    VALUES (1, 'Dole') ;
INSERT INTO localisation
    VALUES (2, 'Besancon') ;
INSERT INTO localisation
    VALUES (3, 'Belfort') ;
INSERT INTO localisation
    VALUES (4, 'Dijon') ;
INSERT INTO localisation
    VALUES (5, 'Vesoul') ;


2. Insertion des informations dans la table departement


Nous allons créer 7 départements liés à un lieu par la clé étrangère idLoc :
Le département Direction est localisé à Besancon.
Le département Etude est localisé à Dole.
Le département Analyse est localisé à Belfort.
Le département Fabrication est localisé à Vesoul.
Le département Prototype est localisé à Dijon.
Le département Essai est localisé à Dijon.
Le département Vente est localisé à Besancon.

INSERT INTO departement
    VALUES (1, 'Direction', 2) ;
INSERT INTO departement
    VALUES (2, 'Etude', 1) ;
INSERT INTO departement
    VALUES (3, 'Analyse', 3) ;
INSERT INTO departement
    VALUES (4, 'Fabrication', 5) ;
INSERT INTO departement
    VALUES (5, 'Prototype', 4) ;
INSERT INTO departement
    VALUES (6, 'Essai', 4) ;
INSERT INTO departement
    VALUES (7, 'Vente', 2) ;


3. Insertion des informations dans la table fonction


Nous allons créer 9 fonctions : Président, Directeur, Chercheur, Analyste, Testeur, Dessinateur, Tourneur, Usineur, et Vendeur.

INSERT INTO fonction
    VALUES (1, 'Président') ;
INSERT INTO fonction
    VALUES (2, 'Directeur') ;
INSERT INTO fonction
    VALUES (3, 'Chercheur') ;
INSERT INTO fonction
    VALUES (4, 'Analyste') ;
INSERT INTO fonction
    VALUES (5, 'Testeur') ;
INSERT INTO fonction
    VALUES (6, 'Dessinateur') ;
INSERT INTO fonction
    VALUES (7, 'Tourneur') ;
INSERT INTO fonction
    VALUES (8, 'Fraiseur') ;
INSERT INTO fonction
    VALUES (9, 'Vendeur') ;


4. Insertion des informations dans la table employe



4.1. Organigramme


Voici un organigramme simple, d'une petite entreprise. Il n'est pas forcément très cohérent au niveau de la hiérarchie et des postes mais cela n'a été fait que dans un but pédagogique. En rouge est représentée la fonction, et en bleu le département.


4.2. Quelques précautions


Avant tout, il faut commencer par insérer les employés les plus hauts dans la hiérarchie de la société, sinon des erreurs de contraintes se produiront. En effet, la plupart des employés possède un supérieur référencé par la clé étrangère supEmp.


4.3. Requêtes d'insertion


INSERT INTO employe
    VALUES (1, 'Bigboss', 'James', '25/08/1995', 15347.12, 2011.12, 'H', 1, NULL , 1) ;
INSERT INTO employe
    VALUES (2, 'Lamaligne', 'Sylvie', '03/09/1995', 8975.02, 1298.87, 'F', 2, 1, 1) ;
INSERT INTO employe
    VALUES (3, 'Ponce', 'Pierre', '13/11/1997', 6891.57, 1328.21, 'H', 2, 1, 1) ;
INSERT INTO employe
    VALUES (4, 'Faidézafair', 'Marc', '25/01/1998', 3815.54, 4410.00, 'H', 9, 3, 7) ;
INSERT INTO employe
    VALUES (5, 'Lebof', 'Jacky', '05/02/1998', 3902.80, 501.40, 'H', 9, 3, 7) ;
INSERT INTO employe
    VALUES (6, 'Badseller', 'Corinne', '25/11/2002', 2895.12, NULL , 'F', 9, 3, 4) ;
INSERT INTO employe
    VALUES (7, 'Popol', 'Jean Marie', '21/10/1995', 6410.95, 1524.00, 'H', 3, 2, 2) ;
INSERT INTO employe
    VALUES (8, 'Crozac', 'Damien', '30/10/1995', 5214.05, NULL , 'H', 4, 7, 3) ;
INSERT INTO employe
    VALUES (9, 'Magin', 'Julien', '12/11/1995', 4578.12, NULL , 'H', 6, 8, 3) ;
INSERT INTO employe
    VALUES (10, 'Ranouja', 'Jamel', '08/01/1996', 2410.51, NULL , 'H', 7, 9, 4) ;
INSERT INTO employe
    VALUES (11, 'Ragondin', 'Michel', '12/05/1996', 2108.00, NULL , 'H', 7, 9, 4) ;
INSERT INTO employe
    VALUES (12, 'Balaiz', 'Lucie', '07/04/1997', 2510.54, NULL , 'F', 8, 9, 4) ;
INSERT INTO employe
    VALUES (13, 'Legrand', 'Marcel', '18/12/1995', 4519.29, 854.74, 'H', 5, 7, 6) ;
INSERT INTO employe
    VALUES (14, 'Bigouf', 'Bernard', '26/02/1996', 3891.91, 514.74, 'H', 5, 7, 6) ;

Notez que pour les lignes où des valeurs NULL sont insérée, il aurait également été possible de procéder de cette manière : spécifier quelles sont les colonnes que l'on désire remplir suivies des valeurs à insérer.

INSERT INTO employe (idEmp, nomEmp, prenomEmp, dateEmbauche, salaireEmp, commissionEmp, sexeEmp, idFonc, idDep)
    VALUES (1, 'Bigboss', 'James', '25/08/1995', 15347.12, 2011.12, 'H', 1, 1) ;
...
INSERT INTO employe (idEmp, nomEmp, prenomEmp, dateEmbauche, salaireEmp, sexeEmp, idFonc, supEmp, idDep)
    VALUES (11, 'Ragondin', 'Michel', '12/05/1996', 2108.00, 'H', 7, 9, 4) ;


5. Valider la transaction


Pour enregistrer les modifications, il suffit d'utiliser la commande :

COMMIT ;

Pour annuler le travail depuis la dernière validation (COMMIT) il suffit d'utiliser la commande :

ROLLBACK ;


6. Conclusion


Voilà, maintenant que les tables sont remplies, nous allons pouvoir effectuer quelques requêtes dans le chapitre suivant : sélection de données.



Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur.
La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
Contacter le responsable de la rubrique SGBD & SQL