0% ont trouvé ce document utile (0 vote)
154 vues2 pages

TP3: Base de Données Relationnelles Sous Oracle: Déclencheurs)

Ce document décrit quatre exercices sur les bases de données relationnelles sous Oracle utilisant le langage PL/SQL. Les exercices portent sur la création de vues, fonctions, procédures et déclencheurs pour manipuler et automatiser le traitement des données d'une base de données.

Transféré par

abc 123
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
0% ont trouvé ce document utile (0 vote)
154 vues2 pages

TP3: Base de Données Relationnelles Sous Oracle: Déclencheurs)

Ce document décrit quatre exercices sur les bases de données relationnelles sous Oracle utilisant le langage PL/SQL. Les exercices portent sur la création de vues, fonctions, procédures et déclencheurs pour manipuler et automatiser le traitement des données d'une base de données.

Transféré par

abc 123
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

Cours : BDD Avancées : BDDR et SQL

TP : N°2 Prof : A. Benmakhlouf Site Web : [Link]

TP3 : Base de données Relationnelles sous Oracle :


Langage PL/SQL (Les Procédures, Les Fonctions, les Exceptions et les
Déclencheurs)

Objectifs :
• Manipuler une base de données par des requêtes avancées en utilisant des programme PL/SQL.
• Automatiser le traitement des données par des déclencheurs.
• Savoir gérer les exceptions et les erreurs dans les programmes PL/SQL

Travail à faire : Dans les exercices qui suivent nous allons utiliser la même BDD du TP1 « BDDVente »

Exo-1
a- Créer une vue (CAANN) qui permet de calculer le Montant des ventes par année.
b- Créer une fonction stockée qui permet de renvoyer le montant des ventes pour une année dont la valeur
est transmise en argument. La fonction doit aussi gérer le cas où il n’y a pas de ventes réalisées pendant
l’année choisie (Montant des ventes = 0).
c- Créer un programme pour afficher les Montant des ventes pendant les années 2004…2018

Exo2 : Nous voulons trouver le client qui a réalisé le plus grand chiffre d’affaire pendant une année donnée.
Cette information sera renvoyée par une fonction stockée qui aura comme paramètre : un tableau de donnée
contenant les clients avec leur chiffre d’affaire pendant une année donnée et la dimension du tableau.

1- Créer un package « Pack » contenant :


a- Un type enregistrement pour stocker le id client, le nom de la société et le chiffre d’affaire du
client
b- Un type table contant les enregistrements définis précédemment
c- Une fonction stockée prenant comme paramètre le tableau d’enregistrement et sa dimension et
revoie l’enregistrement correspondant au client qui a réalisé le plus grand chiffre d’affaire.
Function CA_CL_Max(T in Tab, n integer) Return Str;
d- Une procédure stockée qui a comme paramètre d’entrée une année ANN et comme paramètre de
sortie un tableau de données contenant les clients avec leur CA réalisé pendant l’année du premier
paramètre. Cette procédure doit charger en mémoire les clients avec leur CA réalisé pendant
l’année ANN et permettre le stockage du client qui réalisé le plus grand CA pendant l’année ANN
dans un tableau de la base de données
1
Cours : BDD Avancées : BDDR et SQL
TP : N°2 Prof : A. Benmakhlouf Site Web : [Link]

Procedure CA_CL(ANN IN integer, V OUT Tab);

2- Créer un programme PLSQL qui appelle la procédure CA_CL() pour les années [2010..2020]. Ci-
dessous les données insérées dans une table de la BDD :

Exo3 : Créer un trigger qui permet de vérifier la disponibilité du produit avant chaque insertion d’une
nouvelle ligne de commande dans une commande déjà crée. Ce trigger doit aussi faire la mise à jour du stock
si le produit est disponible.

Exo4:

1- Créer une fonction stockée qui prend en paramètre un entier qui représente le numéro du mois et renvoi
la saison correspondante : Saison(Mo integer) Return Varchar2
Les saisons en fonction des mois sont données par :

Hiver : 12  2
Printemps : 3  6
Eté : 7  9
Automne : 10  11

2- Créer la vue CA_Prod_Saison qui permet de calculer le Montant des ventes par produit et par saison.
3- Créer une fonction stockée MaxSaison(X varchar2) return CA_Prod_Saison%rowtype qui
permet de renvoyer le produit qui a réalisé le plus grand montant des ventes pendant la saison qui sera
transmise en argument de cette fonction.

Vous aimerez peut-être aussi