21 nov 2013 · ED PL/SQL (Corrigé) Par la suite on considère que les tables utilisées par les exercices ont été déjà crées et remplies avec les données
Previous PDF | Next PDF |
[PDF] PL/ SQL
Extension du SQL: des requêtes SQL intégrées avec les structures de contrôle Exercice: écrire un bloc PL/SQL qui permet de déclarer deux variable de type
[PDF] ED PL/SQL - Cedric-Cnam
21 nov 2013 · ED PL/SQL (Corrigé) Par la suite on considère que les tables utilisées par les exercices ont été déjà crées et remplies avec les données
[PDF] PL/SQL - Cours, examens et exercices gratuits et corrigés
24 août 2017 · Bloc PL/SQL DECLARE -- Déclarations : types, curseurs, constantes, -- variables, sous-programmes BEGIN -- Instructions du programme
[PDF] Programmation en PL/SQL Oracle
V 2 2) Correction des erreurs Les programmes créés avec PL / SQL peuvent être stockés dans la base de données en tant qu'objet Exercice Ecrire un programme PL/SQL qui affiche les multiples de 3, 4 et 5 qui sont entre 4 et 32
[PDF] Programmez avec SQL et PL/SQL - fnac-staticcom
avec SQL et PL/SQL Oracle 12c Exercices et corrigés Jérôme GABILLAUD Anne-Sophie LACROIX 90 QCM 93 travaux pratiques et leurs corrigés Près de
[PDF] PL/pgSQL - Université Lumière Lyon 2
13 sept 2020 · de données avancées TD n° 1 (PL/pgSQL) : Requêtes simples, curseurs implicites Exécution d'une requête SQL : Ctrl + Entrée – d'un script PL/pgSQL : Alt + X M1 Informatique Exercice 1 1 Correction -- Exercice 1
[PDF] Module 12 : Les ateliers PL/SQL version 41 - DBA Expert
Sur le site www bizoi fr, vous pourrez trouver à partir de septembre 2014 tous les six mois une nouvelle version des ateliers avec des exercices et QCM
[PDF] Corrigé TP SQL 2 et 3
2) si une personne p n'est pas dans la table aime avec une boisson b, alors p Il faut faire un programme (e g PLSQL, ESQL ou php-MySQL) pour calculer
[PDF] TP 1: DEVELOPPEMENT AVEC PL/SQL (1)
Si oui, créer ce nouveau tuple correspondant de la table REPARATION, ii Si non , affichez un message d'erreur CORRECTION Préparation
[PDF] exercices pointeurs et fonctions
[PDF] exercices polynome du second degré 1ere stmg
[PDF] exercices ponctuation dialogue 6ème
[PDF] exercices pourcentage 5ème
[PDF] exercices pourcentage 5ème pdf
[PDF] exercices pourcentages pdf
[PDF] exercices pratiques cnv
[PDF] exercices pratiques communication non verbale
[PDF] exercices pratiques conduite de réunion
[PDF] exercices pratiques excel 2010 pdf
[PDF] exercices pratiques gestion mentale
[PDF] exercices pratiques relation d aide
[PDF] exercices prépositions fle
[PDF] exercices présent de l'indicatif 6ème pdf
![[PDF] ED PL/SQL - Cedric-Cnam [PDF] ED PL/SQL - Cedric-Cnam](https://pdfprof.com/Listes/37/32081-37ED_Corrige_PLSQL.pdf.pdf.jpg)
ED PL/SQL
(Corrigé)Par la suite on considère que les tables utilisées par les exercices ont été déjà crées et
remplies avec les données nécessaires. Déclarations, itérations, boucles, instructions conditionnellesExercice 1. Soit la table suivante :
VOL(Numvol, Heure_départ, Heure_arrivée, Ville_départ, Ville_arrivée) Écrivez un programme PL/SQL qui insère le vol AF110 partant de Paris à 21h40 et arrivant à Dublin à 23h10 (hypothèse : le vol n'est pas déjà présent dans la table).Solution :
DECLARE
v vol%ROWTYPE; BEGIN v.numvol := 'AF110'; v.heure_départ := to_date('21/11/2013 21:40', 'DD/MM/YYYY hh24:mi'); v.heure_arrivée := to_date('21/11/2013 23:10', 'DD/MM/YYYY hh24:mi'); v.ville_départ := 'Paris'; v.ville_arrivée := 'Dublin';INSERT INTO vol VALUES v;
END;Exercice 2. Soit la table RES(NO). Écrivez un bloc PL/SQL qui inséré les chifffres de 1 à
100 dans cette table.
Solution :
DECLARE
nb NUMBER := 1 ; BEGIN LOOPINSERT INTO RES
VALUES(nb) ;
nb = nb + 1 ;EXIT WHEN nb > 100 ;
END LOOP
END Exercice 3. Écrivez un bloc PL/SQL qui aiÌifiÌiche la somme des nombres entre 1000 et10000.
Solution :
DECLARE
somme NUMBER := 0 ; BEGINFOR i IN 1000..10000 LOOP
somme = somme + i ;END LOOP
DBMS_OUTPUT.PUT_LINE('Somme = ' || somme) ;
ENDNFA011
NFA011 - Développement d'applications avec les bases de donnéesExercice 4. Écrivez un programme PL/SQL qui aiÌifiÌiche le reste de la division de 17664 par
171. Ne pas utilisez la fonction MOD.
Solution :
DECLARE
reste NUMBER = 17664 ; BEGINWHILE reste > 171 LOOP
reste .= reste - 171 ;END LOOP
DBMS_OUTPUT.PUT_LINE('Le reste de 17664 par 171 est ' || reste) END Exercice 5. Créez une type tableau pouvant contenir jusqu'à 50 entiers.1. Créez une variable de ce type, faites une allocation dynamique et dimensionnez ce
tableau à 20 emplacements.2. Placez dans ce tableau la liste des 20 premiers carrés parfaits : 1, 4, 9, 16, 25, ...
3. AiÌifiÌichez ce tableau.
Solution :
DECLARE
TYPE MTAB IS VARRAY (50) OF INTEGER ;
t MONTAB ; BEGIN t := MONTAB() ; t.extend(20) ; -- initialisationFOR i IN 1..20 LOOP
t(i) := i*i ;END LOOP ;
-- aiÌifiÌichageFOR i IN 1..20 LOOP
DBMS_OUTPUT.PUT_LINE('t(' || i || ') = ' || t(i)) ;END LOOP ;
END Exercice 6. Écrire une fonction PL/SQL qui prends en entrée un nombre entier n et retourne le factoriel de ce nombre n!. Implémenter deux versions : itérative et récursive. La version récursive est basée sur la relation de récurrence : n! = n · [(n - 1)!]Solution :
CREATE OR REPLACE FUNCTION FACT_ITER (N INTEGER)
RETURN INTEGER
IS result INTEGER := 1; BEGIN for i in 2..N loop result := result*i; end loop; return result;END FACT_ITER;
CREATE OR REPLACE FUNCTION FACT_REC (N INTEGER)
RETURN INTEGER
IS BEGINIF (N < 0) THEN
NFA011
NFA011 - Développement d'applications avec les bases de donnéesRETURN -1;
ELSIF(N = 0) THEN
RETURN 1;
ELSERETURN N*FACT1(N - 1);
END IF;
END FACT_REC;
Curseurs, déclencheurs, relations
Exercice 7. On considère la table suivante:
PILOTE(Matricule, Nom, Ville, Age, Salaire).
Écrivez un programme PL/SQL qui calcule la moyenne des salaires des pilotes dont l'âge est entre 30 et 40 ans.Solution :
DECLARE
CURSOR curseur1 IS SELECT salaire FROM pilote
WHERE (Age >= 30 AND Age <=40);
salairePilote Pilote.Salaire%TYPE; sommeSalaires NUMBER(11,2) := 0; moyenneSalaires NUMBER(11,2); BEGINOPEN curseur1;
LOOPFETCH curseur1 INTO salairePilote;
EXIT WHEN (curseur1%NOTFOUND OR curseur1%NOTFOUND IS NULL); sommeSalaires := sommeSalaires + salairePilote;END LOOP;
moyenneSalaires := sommeSalaires / curseur1%ROWCOUNT;CLOSE curseur1;
DBMS_OUTPUT.PUT_LINE('Moyenne salaires (pilotes de 30DISQUE(nom, capacité, vitesse, fabricant);
PARTITION(nomDisque, nomPartition, taille);
Écrivez en PL/SQL le déclencheur (trigger) qui lors de l'insertion d'une nouvelle ligne dans la table PARTITION vériifie que la taille totale des partitions sur le disque concerné (ycompris la partition qui est en cours d'être ajoutée) ne dépasse pas la capacité du disque.
Si tel n'est pas le cas, l'enregistrement de la nouvelle cage ne doit pas être fait et un message doit être aiÌifiÌiché pour indiquer cette anomalie.