La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

 CREATE TABLE  DROP TABLE  ALTER TABLE  INSERT  UPDATE  DELETE  SELECT interrogation 2 Instruction de mise à jour structure.

Présentations similaires


Présentation au sujet: " CREATE TABLE  DROP TABLE  ALTER TABLE  INSERT  UPDATE  DELETE  SELECT interrogation 2 Instruction de mise à jour structure."— Transcription de la présentation:

1

2  CREATE TABLE  DROP TABLE  ALTER TABLE  INSERT  UPDATE  DELETE  SELECT interrogation 2 Instruction de mise à jour structure

3  INSERT INTO Table [ ( Nom_Colonne [, Nom_Colonne ]...) ] VALUES { (Valeur | Requête) [,(Valeur | Requête)... }  Exemple: On désire insérer un nouveau département dans la table departement INSERT INTO departement (id, nom,ville) VALUES(50,‘Ingénierie',‘Québec');  ou bien INSERT INTO departement VALUES (50,‘Ingénierie',‘Québec'); 3

4  Exemple, on désire insérer un nouvel employé travaillant à Québec: INSERT INTO employe(id, nom, id_departement) VALUES (7777, ‘Toto’, (SELECT id FROM departement WHERE ville = ‘Québec’)); 4

5  Pour insérer les employés des départements 10,20,30 et 40 de la table ancien_emp dans la table employe INSERT INTO employe( id, nom, id_departement) SELECT id, nom, id_departement FROM ancien_emp WHERE id_departement IN (10,20,30,40); 5

6  Lorsqu'une colonne est omise dans un énoncé INSERT, elle prend la valeur NULL. 6

7  Format d'une date: ‘DD/MM/YYYY‘ INSERT INTO employe(id, nom, date_embauche) VALUES ( 7963, ‘Marion', TO_DATE('07/03/1999‘,‘DD/MM/YYYY’);  Pour avoir la date du jour : SYSDATE INSERT INTO employe (id, nom, date_embauche) VALUES (7600, ‘Jacques’, SYSDATE); 7

8 8

9  Il s'agit d'un objet de la base de données que l'on utilise pour générer des nombres entiers qui se suivent  Pour créer une séquence: CREATE SEQUENCE Nom_Séquence [ INCREMENT BY n ] [ START WITH n ] [ MAXVALUE n | NOMAXVALUE ] [ MINVALUE n | NOMINVALUE ] [ CYCLE | NOCYCLE ] [CACHE n | NOCACHE]  Exemple: CREATE SEQUENCE seq_employe INCREMENT BY 1 START WITH 1;  Pour détruire une séquence: DROP SEQUENCE Nom_Séquence; 9

10  S’il n’y a pas de cache pour la séquence, alors à chaque fois que l’on veut avoir nombre suivant de la séquence, il y a une opération sur le disque dur pour aller chercher et incrémenter la séquence.  En utilisant CACHE 100, par exemple, les 100 prochains numéro seront immédiatement incrémentés dans la séquence. Ceux-ci pourront ensuite être utilisé sans avoir à faire d’accès au disque dur. ◦ Ceci permet une meilleur performance de la base de données lors d’insertion en “batch”. V I- 1010

11  Pour générer le nombre suivant d'une séquence. Nom_Séquence.NEXTVAL  Exemple: On désire que les numéros d'employé soit générés automatiquement lors de la création d'un employé. 1) on crée la séquence "matricule" CREATE SEQUENCE seq_matricule INCREMENT BY 1 START WITH 1000; 2) Lors de la création d'un employé, on utilise cette séquence. INSERT INTO employe (id, nom, poste) VALUES (seq_matricule.nextval, ‘Morin’, ‘technicien’); 11

12  Pour utiliser le dernier nombre généré par une séquence. Nom_Séquence.CURRVAL  Exemple: On désire afficher le dossier d'un employé qui vient d'être ajouté à la BD. INSERT INTO EMP (id, nom) VALUES (seq_matricule.nextval, ‘castagne’); SELECT id, nom FROM employe WHERE id = seq_matricule.currval; 12

13  Syntaxe: UPDATE Table SET Nom_Colonne = Expression [,…] [ WHERE Condition ] ou UPDATE Table SET (Nom_Colonne [,Nom_Ccolonne]...) = ( Requête ) [,...] [ WHERE condition ]  Si on utilise une requête elle doit retourner aucune ou au maximum une rangée.  Note :la requête est évaluée pour chaque rangée mise à jour. 13

14  Pour changer tous les vendeurs en représentants UPDATE employe SET poste = ‘Représentant' WHERE poste = ‘Vendeur‘ ; 14

15  Pour changer les vendeurs en représentants et les transférer au département 40 UPDATE employe SET id_departement= 40, poste = 'représentant‘ WHERE poste = 'vendeur‘ ; 15

16  Exemple: transférer tous les employés travaillant dans un département situé à Otttawa ou Toronto dans le département situé à Montréal de plus, mettre la commission pour ces employés à zéro UPDATE employe SET id_departement = (SELECT id FROM departement WHERE Ville= ’Montréal'), commission = 0 WHERE id_departement IN (SELECT id FROM departement WHERE Ville=’Ottawa‘ OR Ville= ’Toronto'); 16

17  La clause WHERE détermine les rangées qui seront supprimées.  Si la clause WHERE est absente, toutes les rangées sont supprimées. Exemple: L'employé Martin a démissionné. Pour le rayer de la liste des employés: DELETE FROM employe WHERE id = 7654 ;  Pour détruire tous les employés: DELETE FROM employe; 17


Télécharger ppt " CREATE TABLE  DROP TABLE  ALTER TABLE  INSERT  UPDATE  DELETE  SELECT interrogation 2 Instruction de mise à jour structure."

Présentations similaires


Annonces Google