Tp Plsql N2

  • Uploaded by: Ferouk
  • 0
  • 0
  • February 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Tp Plsql N2 as PDF for free.

More details

  • Words: 579
  • Pages: 3
Loading documents preview...
Module : Administration et Sécurité des Bases de Données Travaux Pratiques N°2 « Curseurs, Exceptions » On se place toujours au niveau de la base de données très simplifiée « Gestion du transport aérien ».(voir schéma relationnel TP N°1).

*Curseur 1- Ecrire un bloc PL-SQL permettant d’afficher les noms et les adresses des pilotes dont le salaire dépasse 22000. Le résultat sera affiché de la manière suivante : Adresse du pilote FEDOI est: NANTES Adresse du pilote ANDRE est: NICE Adresse du pilote BARRE est: LYON Adresse du pilote MARTIN est: ORSAY

2- Ecrire un bloc PL-SQL permettant d’afficher toutes les informations concernant les avions dont le nombre des heures de vol dépassent de plus que 25 la moyenne des nbhvol de toutes les avions de la base. Utiliser la notion ‘%ROWTYPE’. Le résultat sera affiché de la manière suivante : Avion: 8832, Type: 734, Année de mise en service: 1988, Nom avion: Ville de Paris, Nombre heure de vol: 16000 Avion: 7693, Type: 741, Année de mise en service: 1988, Nom avion: Pacifique, Nombre heure de vol: 34000

3- Ecrire un block PL-SQL permettant : 1d’identifier la liste des pilotes qui ont été affectés un seul vol. Utiliser un curseur C3. 2Insérer cette liste dans un tableau T1 dont le contenu est de type scalaire faisant référence à la table pilote.nopilot. 3Pour chaque pilote insérer la commission correspondante dans un deuxième tableau T2 dont le contenu est de type scalaire faisant référence à la table pilote.comm. 4Réduire la commission de chaqu’un de ces pilotes de 5% et insérer le résultat de chaque réduction dans un troisième tableau T3. 5Afficher le contenu des 3 tableaux T1, T2 et T3. Le résultat sera affiché de la manière suivante : La liste des pilotes: 1- 1333 2- 6589 3- 7100

4- 3452 5- 3421 6- 6548 La liste des commissions avant la réduction: 1- 0 2- 5580 3- 16000 456- 8600 La liste des commissions après la réduction: 1- 0 2- 5301 3- 15200 456- 8170

4- Même question que 3- mais en utilisant la forme syntaxique condensée. 5-Ecrire un bloc PL-SQL permettant d’afficher les noms des pilotes dont les salaires dépassent 1500 et que la comm est inf à 20% du salaire. Afficher les noms des pilotes et leurs dates d’embauche. Proposer deux solutions : la première en utilisant un curseur non paramétré et la deuxième, en utilisant un curseur paramétré. Le résultat sera affiché de la manière suivante : Noms : Date Embauche: FEDOI 15/03/93 COLLET 15/04/93

*Exception 6- Ecrire un bloc PL-SQL permettant d’afficher le nom, adresse, sal et la comm d’un pilote particulier. -Utiliser l’exception prédéfinie par oracle NO_DATA_FOUND. -Si la commission est > au salaire déclencher une exception et afficher le message d’erreur suivant : « La commission est supérieur au salaire » -Si la commission est nulle déclencher une exception et afficher le message d’erreur suivant : « commission nulle ». -Exécuter votre programme avec les restrictions suivantes : -nopilot=’1333’, ‘3452’, ‘7100’ et ‘5555’. Dans chaque cas, vérifier l’exception déclenchée. 7- Ecrire un bloc PL-SQL permettant d’afficher les noms des pilotes dont les salaires dépassent 15900 . -Si la condition est vérifiée alors le nom du pilote sera automatiquement affiché. -Si la comm du pilote est nulle une exception est automatiquement déclenchée affichant le message ‘la Commission du pilote ……….. est nulle’.

-Si le salaire > 30000 alors déclencher une exception excep_trait permettant d’insérer le nom et le salaire du pilote dans une table pilote_sal.

Related Documents

Tp Plsql N2 (correction)
February 2021 5
Tp Plsql N2
February 2021 5
Tp Plsql N3
February 2021 2
Tp Plsql N1
February 2021 5
Tp Plsql N1 (correction)
February 2021 5
Plsql
February 2021 2

More Documents from "Ferouk"

Tp Plsql N3
February 2021 2
Plsql
February 2021 2
Tp Plsql N2 (correction)
February 2021 5
Tp Plsql N1
February 2021 5
Tp Plsql N1 (correction)
February 2021 5
Tp Plsql N2
February 2021 5