0% ont trouvé ce document utile (0 vote)
55 vues3 pages

PL SQL TP1

Le document décrit plusieurs exercices sur l'utilisation des curseurs implicites, explicites et des exceptions en PL/SQL. Il présente des exemples d'utilisation de ces concepts sur des tables Etudiant et Département.

Transféré par

Abdessamad Imider
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • numéro étudiant,
  • cours,
  • exception exp_cours,
  • exception NO_DATA_FOUND,
  • techniques,
  • PL/SQL,
  • systèmes de gestion de bases d…,
  • exercices de programmation,
  • SGBDR,
  • SGBD
0% ont trouvé ce document utile (0 vote)
55 vues3 pages

PL SQL TP1

Le document décrit plusieurs exercices sur l'utilisation des curseurs implicites, explicites et des exceptions en PL/SQL. Il présente des exemples d'utilisation de ces concepts sur des tables Etudiant et Département.

Transféré par

Abdessamad Imider
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • numéro étudiant,
  • cours,
  • exception exp_cours,
  • exception NO_DATA_FOUND,
  • techniques,
  • PL/SQL,
  • systèmes de gestion de bases d…,
  • exercices de programmation,
  • SGBDR,
  • SGBD

FACULTE DES SCIENCES ET TECHNIQUES ‫كــليـــــة العــلـــــــوم‬

MARRAKECH ‫والتـقـنـيـــات‬
‫مــــــراكـش‬
Le 30/11/2018
SIR : S5 SGBD/SGBDR TP N°1 : PL/SQL
Rappels :
1) Curseur implicite : Quand on écrit une requête sans l'affecter explicitement à un curseur,
elle occupe une zone mémoire qui est représentée implicitement par un curseur non
déclaré par le programmeur
2) Curseur explicite : est un curseur portant un nom et permettant de stocker le résultat d’une
requête.
3) Un bloc anonyme est un bloc begin ……end ; qui ne comporte pas un nom
a. Oracle utilise les curseurs implicites pour analyser et exécuter les énoncés de
SQL
b. Les curseurs explicites sont déclarés explicitement par le programmeur

Page 1 sur 3
Exercice N°1 : Curseurs implicites et bloc anonymes
Remplir ces tables par 5 lignes à votre choix
N/B : n’oubliiez pas de saisir le numéro 111 dans la table Etudiant
Et le département computer dans la table dep
1. Ecrire un bloc anonyme PL/SQL pour afficher le nom de l’étudiant numéro 111. (table ETUDIANT)
2. Ecrire un bloc anonyme PL/SQL pour afficher les données du département ‘COMPUTER’. (table DEP )
Solution 1 : utilisation de deux variables V_nom et V_num et la propriété %TYPE
Solution 2 : utilisation d’une variable v_dep et la propriété %ROWTYPE
3. Améliorer le dernier bloc créé pour afficher le nombre d’étudiants de ce département.
Solution 1: Jointure entre table ETUDIANT et table DEP

Page 2 sur 3
Solution 2: Utilisation de la table ETUDIANT seulement

Exercice N°2 : Curseurs explicites


1. Ecrire un bloc anonyme PL/SQL qui permet d’afficher les noms des étudiants dont leur
grade est supérieur à 58 dans le cours numéro 102.
Exercice N°3 : Exceptions
1. Modifier le dernier bloc créé en prévoyant l’exception NO_DATA_FOUND
2. Créer une exception nommé exp_cours à lancer en cas où le numéro du cours fournit
en argument du curseur est égal à 0.
Exercice N°4 :
1. Etendre la table DEP par une nouvelle colonne NBETUD NUMBER(2) représentant le
nombre d’étudiants (0 par défaut).
2. Ecrire un bloc qui met à jour cette colonne pour tous les départements.

Exercice N°5:
On souhaite éditer la liste des étudiants de chaque département de la manière suivante :
Département : (Nom du département)
Numéro Etudiant Nom Etudiant
……………… ………………
……………… ………………
……………… ………………
Les départements doivent être triés par ordre Croissant de deptno. Les étudiants d’un même
département seront triés par ordre croissant de stdno.

Page 3 sur 3

Vous aimerez peut-être aussi