Soumettre la recherche
Mettre en ligne
Les04.ppt
•
Télécharger en tant que PPT, PDF
•
0 j'aime
•
4 vues
Z
zidane39
Suivre
pl/sql les4
Lire moins
Lire la suite
Ingénierie
Signaler
Partager
Signaler
Partager
1 sur 28
Télécharger maintenant
Recommandé
Les06.ppt
Les06.ppt
zidane39
Plsql
Plsql
Az Za
Les01.ppt
Les01.ppt
zidane39
Les07.ppt
Les07.ppt
zidane39
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôle
Abdelouahed Abdou
Les03.ppt
Les03.ppt
zidane39
PL/SQL:les curseurs
PL/SQL:les curseurs
Abdelouahed Abdou
cours Plsql _ abdelkhalek benhoumine
cours Plsql _ abdelkhalek benhoumine
abdelkhalek benhoumine
Recommandé
Les06.ppt
Les06.ppt
zidane39
Plsql
Plsql
Az Za
Les01.ppt
Les01.ppt
zidane39
Les07.ppt
Les07.ppt
zidane39
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôle
Abdelouahed Abdou
Les03.ppt
Les03.ppt
zidane39
PL/SQL:les curseurs
PL/SQL:les curseurs
Abdelouahed Abdou
cours Plsql _ abdelkhalek benhoumine
cours Plsql _ abdelkhalek benhoumine
abdelkhalek benhoumine
Les02.ppt
Les02.ppt
zidane39
Le langage plsql
Le langage plsql
kati_f87
Les08.ppt
Les08.ppt
zidane39
1-pl-sql 2021 2022.pdf
1-pl-sql 2021 2022.pdf
ImaneZoubir1
Plsql
Plsql
rchbeir
PLSQL-Complements-4p.pdf
PLSQL-Complements-4p.pdf
RihabBENLAMINE
plsql-8.ppt
plsql-8.ppt
Conferenceiwwsd
Mise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*Plus
webreaker
Sous-Interrogations - sql oracle
Sous-Interrogations - sql oracle
webreaker
7 Programmation PL-SQL Oracle.pdf
7 Programmation PL-SQL Oracle.pdf
user2023moi
Plsql triggers
Plsql triggers
Az Za
Introduction a Java
Introduction a Java
Wiki Info Systeme
PL/Sql et Sécurité des bases de données
PL/Sql et Sécurité des bases de données
smiste
Apprendre vba excel(1)
Apprendre vba excel(1)
FIDEL Wisly
Les Contraintes | SQL Oracle
Les Contraintes | SQL Oracle
webreaker
ORACLE 12C PLSQL Gestion des Triggers.ppt
ORACLE 12C PLSQL Gestion des Triggers.ppt
AhmathBambaMBACKE
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-users
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-users
CERTyou Formation
Création de Vues | SQL Oracle
Création de Vues | SQL Oracle
webreaker
Tests unitaires : Utilisation de la librairie CUnit
Tests unitaires : Utilisation de la librairie CUnit
ECAM Brussels Engineering School
Cours08 exceptions
Cours08 exceptions
Issam Talkam
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SKennel
présentation sur la logistique (4).
présentation sur la logistique (4).
FatimaEzzahra753100
Contenu connexe
Similaire à Les04.ppt
Les02.ppt
Les02.ppt
zidane39
Le langage plsql
Le langage plsql
kati_f87
Les08.ppt
Les08.ppt
zidane39
1-pl-sql 2021 2022.pdf
1-pl-sql 2021 2022.pdf
ImaneZoubir1
Plsql
Plsql
rchbeir
PLSQL-Complements-4p.pdf
PLSQL-Complements-4p.pdf
RihabBENLAMINE
plsql-8.ppt
plsql-8.ppt
Conferenceiwwsd
Mise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*Plus
webreaker
Sous-Interrogations - sql oracle
Sous-Interrogations - sql oracle
webreaker
7 Programmation PL-SQL Oracle.pdf
7 Programmation PL-SQL Oracle.pdf
user2023moi
Plsql triggers
Plsql triggers
Az Za
Introduction a Java
Introduction a Java
Wiki Info Systeme
PL/Sql et Sécurité des bases de données
PL/Sql et Sécurité des bases de données
smiste
Apprendre vba excel(1)
Apprendre vba excel(1)
FIDEL Wisly
Les Contraintes | SQL Oracle
Les Contraintes | SQL Oracle
webreaker
ORACLE 12C PLSQL Gestion des Triggers.ppt
ORACLE 12C PLSQL Gestion des Triggers.ppt
AhmathBambaMBACKE
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-users
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-users
CERTyou Formation
Création de Vues | SQL Oracle
Création de Vues | SQL Oracle
webreaker
Tests unitaires : Utilisation de la librairie CUnit
Tests unitaires : Utilisation de la librairie CUnit
ECAM Brussels Engineering School
Cours08 exceptions
Cours08 exceptions
Issam Talkam
Similaire à Les04.ppt
(20)
Les02.ppt
Les02.ppt
Le langage plsql
Le langage plsql
Les08.ppt
Les08.ppt
1-pl-sql 2021 2022.pdf
1-pl-sql 2021 2022.pdf
Plsql
Plsql
PLSQL-Complements-4p.pdf
PLSQL-Complements-4p.pdf
plsql-8.ppt
plsql-8.ppt
Mise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*Plus
Sous-Interrogations - sql oracle
Sous-Interrogations - sql oracle
7 Programmation PL-SQL Oracle.pdf
7 Programmation PL-SQL Oracle.pdf
Plsql triggers
Plsql triggers
Introduction a Java
Introduction a Java
PL/Sql et Sécurité des bases de données
PL/Sql et Sécurité des bases de données
Apprendre vba excel(1)
Apprendre vba excel(1)
Les Contraintes | SQL Oracle
Les Contraintes | SQL Oracle
ORACLE 12C PLSQL Gestion des Triggers.ppt
ORACLE 12C PLSQL Gestion des Triggers.ppt
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-users
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-users
Création de Vues | SQL Oracle
Création de Vues | SQL Oracle
Tests unitaires : Utilisation de la librairie CUnit
Tests unitaires : Utilisation de la librairie CUnit
Cours08 exceptions
Cours08 exceptions
Dernier
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SKennel
présentation sur la logistique (4).
présentation sur la logistique (4).
FatimaEzzahra753100
Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024
Institut de l'Elevage - Idele
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
Institut de l'Elevage - Idele
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
maach1
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
bentaha1011
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
mia884611
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
alainfahed961
Dernier
(8)
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
présentation sur la logistique (4).
présentation sur la logistique (4).
Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Les04.ppt
1.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. Ecrire des structures de contrôle
2.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-2 Objectifs A la fin de ce chapitre, vous pourrez : • identifier les types de structure de contrôle et leurs utilisations • écrire une instruction IF • utiliser des expressions CASE • écrire et identifier différents types d'instruction LOOP • utiliser des tables logiques • contrôler le flux de blocs à l'aide de boucles imbriquées et d'étiquettes
3.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-3 Contrôler le flux d'exécution PL/SQL • Vous pouvez modifier l'exécution logique des instructions en utilisant des instructions conditionnelles IF et des structures de contrôle LOOP • Instructions conditionnelles IF : – IF-THEN-END IF – IF-THEN-ELSE-END IF – IF-THEN-ELSIF-END IF
4.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-4 Instructions IF IF condition THEN statements; [ELSIF condition THEN statements;] [ELSE statements;] END IF; Syntaxe : Si le nom de l'employé est Gietz, lui affecter l'ID de manager 102. IF UPPER(v_last_name) = 'GIETZ' THEN v_mgr := 102; END IF;
5.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-5 Instructions IF simples Si le nom de famille est Vargas : • affecter la valeur SA_REP au code de poste • affecter la valeur 80 au numéro du service . . . IF v_ename = 'Vargas' THEN v_job := 'SA_REP'; v_deptno := 80; END IF; . . .
6.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-6 Instructions IF composées Si le nom de famille est Vargas et que le salaire est supérieur à 6 500 : affecter la valeur 60 au numéro du service . . . IF v_ename = 'Vargas' AND salary > 6500 THEN v_deptno := 60; END IF; . . .
7.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-7 Flux d'exécution des instructions IF-THEN-ELSE IF condition TRUE THEN actions (incluant d'autres instructions IF) NOT TRUE ELSE actions (incluant d'autres instructions IF)
8.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-8 Instructions IF-THEN-ELSE Affecter la valeur TRUE à un indicateur booléen si la date d'embauche est de plus de cinq ans ; sinon, affecter la valeur FALSE. DECLARE v_hire_date DATE := '12-Dec-1990'; v_five_years BOOLEAN; BEGIN . . . IF MONTHS_BETWEEN(SYSDATE,v_hire_date)/12 > 5 THEN v_five_years := TRUE; ELSE v_five_years := FALSE; END IF; ...
9.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-9 Flux d'exécution des instructions IF-THEN-ELSIF IF condition TRUE THEN actions NOT TRUE ELSIF condition TRUE THEN actions NOT TRUE ELSE actions
10.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-11 Instructions IF-THEN-ELSIF Calculer le pourcentage d'une valeur donnée en fonction d'une condition Exemple : . . . IF v_start > 100 THEN v_start := 0.2 * v_start; ELSIF v_start >= 50 THEN v_start := 0.5 * v_start; ELSE v_start := 0.1 * v_start; END IF; . . .
11.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-12 Expressions CASE • Une expression CASE sélectionne un résultat et le renvoie • Pour que le résultat soit sélectionné, l'expression CASE utilise une expression dont la valeur permet d'effectuer un choix parmi plusieurs possibilités CASE selector WHEN expression1 THEN result1 WHEN expression2 THEN result2 ... WHEN expressionN THEN resultN [ELSE resultN+1;] END;
12.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-13 Exemple d'expressions CASE SET SERVEROUTPUT ON DECLARE v_grade CHAR(1) := UPPER('&p_grade'); v_appraisal VARCHAR2(20); BEGIN v_appraisal := CASE v_grade WHEN 'A' THEN 'Excellent' WHEN 'B' THEN 'Very Good' WHEN 'C' THEN 'Good' ELSE 'No such grade' END; DBMS_OUTPUT.PUT_LINE ('Grade: '|| v_grade || ' Appraisal ' || v_appraisal); END; /
13.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-15 Traiter les valeurs NULL Lorsque vous utilisez des valeurs NULL, vous pouvez éviter certaines erreurs fréquentes en gardant à l'esprit les règles suivantes : • les comparaisons simples impliquant des valeurs NULL renvoient toujours une valeur NULL • l'application de l'opérateur logique NOT à une valeur NULL renvoie une valeur NULL • dans les instructions de contrôle conditionnelles, si la condition renvoie une valeur NULL, la séquence d'instructions associée n'est pas exécutée
14.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-16 Tables logiques Créer une condition booléenne simple avec un opérateur de comparaison NOT TRUE FALSE NULL OR TRUE FALSE NULL TRUE FALSE NULL FALSE TRUE NULL AND TRUE FALSE NULL TRUE FALSE NULL TRUE NULL NULL NULL FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE FALSE NULL NULL NULL
15.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-17 Conditions booléennes Quelle est la valeur de V_FLAG dans chaque cas ? V_REORDER_FLAG V_AVAILABLE_FLAG V_FLAG TRUE TRUE TRUE FALSE NULL TRUE NULL FALSE v_flag := v_reorder_flag AND v_available_flag; ? ? ? ?
16.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-18 Contrôle d'itération : instructions LOOP • Les boucles permettent d'exécuter plusieurs fois une instruction ou une séquence d'instructions • Il existe trois types de boucle : – boucle de base – boucle FOR – boucle WHILE
17.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-19 Boucles de base Syntaxe : LOOP statement1; . . . EXIT [WHEN condition]; END LOOP; condition est une variable ou une expression booléenne (TRUE, FALSE, ou NULL); -- delimiter -- statements -- EXIT statement -- delimiter
18.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-20 DECLARE v_country_id locations.country_id%TYPE := 'CA'; v_location_id locations.location_id%TYPE; v_counter NUMBER(2) := 1; v_city locations.city%TYPE := 'Montreal'; BEGIN SELECT MAX(location_id) INTO v_location_id FROM locations WHERE country_id = v_country_id; LOOP INSERT INTO locations(location_id, city, country_id) VALUES((v_location_id + v_counter),v_city, v_country_id); v_counter := v_counter + 1; EXIT WHEN v_counter > 3; END LOOP; END; / Boucles de base Exemple :
19.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-21 Boucles WHILE Syntaxe : Utiliser la boucle WHILE pour répéter des instructions tant qu'une condition renvoie TRUE. WHILE condition LOOP statement1; statement2; . . . END LOOP; Condition is evaluated at the beginning of each iteration.
20.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-22 Boucles WHILE Exemple : DECLARE v_country_id locations.country_id%TYPE := 'CA'; v_location_id locations.location_id%TYPE; v_city locations.city%TYPE := 'Montreal'; v_counter NUMBER := 1; BEGIN SELECT MAX(location_id) INTO v_location_id FROM locations WHERE country_id = v_country_id; WHILE v_counter <= 3 LOOP INSERT INTO locations(location_id, city, country_id) VALUES((v_location_id + v_counter), v_city, v_country_id); v_counter := v_counter + 1; END LOOP; END; /
21.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-23 Boucles FOR Syntaxe : • Utiliser une boucle FOR pour simplifier le contrôle du nombre d'itérations • Ne pas déclarer le compteur (sa déclaration est implicite) • La syntaxe requise est 'lower_bound .. upper_bound' FOR counter IN [REVERSE] lower_bound..upper_bound LOOP statement1; statement2; . . . END LOOP;
22.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-24 Boucles FOR Insérer trois nouveaux ID d'emplacement pour le code de pays CA et la ville de Montréal. DECLARE v_country_id locations.country_id%TYPE := 'CA'; v_location_id locations.location_id%TYPE; v_city locations.city%TYPE := 'Montreal'; BEGIN SELECT MAX(location_id) INTO v_location_id FROM locations WHERE country_id = v_country_id; FOR i IN 1..3 LOOP INSERT INTO locations(location_id, city, country_id) VALUES((v_location_id + i), v_city, v_country_id ); END LOOP; END; /
23.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-25 Boucles FOR Remarques • Ne référencer le compteur qu'à l'intérieur de la boucle, il n'est pas défini en dehors • Ne pas référencer le compteur en tant que cible d'une affectation
24.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-26 Remarques relatives à l'utilisation des boucles • Utiliser la boucle de base lorsque ses instructions doivent s'exécuter au moins une fois • Utiliser la boucle WHILE si la condition doit être évaluée au début de chaque itération • Utiliser une boucle FOR si le nombre d'itérations est connu
25.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-27 Boucles imbriquées et étiquettes • Imbriquer des boucles à plusieurs niveaux • Utiliser des étiquettes pour différencier les blocs des boucles • Quitter la boucle externe en utilisant l'instruction EXIT qui référence l'étiquette
26.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-28 Boucles imbriquées et étiquettes ... BEGIN <<Outer_loop>> LOOP v_counter := v_counter+1; EXIT WHEN v_counter>10; <<Inner_loop>> LOOP ... EXIT Outer_loop WHEN total_done = 'YES'; -- Leave both loops EXIT WHEN inner_done = 'YES'; -- Leave inner loop only ... END LOOP Inner_loop; ... END LOOP Outer_loop; END;
27.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-29 Synthèse Ce chapitre vous a permis d'apprendre à : modifier l'enchaînement logique des instructions en utilisant des structures de contrôle • Instructions conditionnelles (IF) • Expressions CASE • Boucles : – boucle de base – boucle FOR – boucle WHILE • Instructions EXIT
28.
Copyright © Oracle
Corporation, 2001. Tous droits réservés. 4-30 Présentation de l'exercice 4 Dans cet exercice, vous allez : • exécuter des actions conditionnelles en utilisant l'instruction IF • écrire des schémas itératifs en utilisant la structure de la boucle
Télécharger maintenant