SlideShare ist ein Scribd-Unternehmen logo
1 von 2
Classe : 3A
Année universitaire :2012-2013
Enseignante : Mme Hkimi Jihene
TP 3 : Les procédures et les fonctions
Exercice1
Chargez le bloc PL/SQL que vous avez créé à la question 2 du TP 1.
1. Ajoutez une section déclarative à ce bloc PL/SQL. Dans la section déclarative, déclarez les
variables suivantes :
a. Variable today de type DATE. Initialisez today avec SYSDATE.
b. Variable tomorrow de type today. Utilisez l'attribut %TYPE pour déclarer cette variable.
2. Dans la section exécutable, initialisez la variable tomorrow avec une expression qui calcule
la date de demain (ajoutez un à la valeur de today). Affichez la valeur de today et de
tomorrow après l'affichage de "Hello World".
3. Modifiez le script afin de convertir le bloc anonyme en procédure nommée greet.
4. Exécutez le script afin de créer la procédure.
5. Enregistrez le script sous le nom lab_03_sol.sql.
6. Créez et exécutez un bloc anonyme afin d'appeler la procédure greet.
Exercice2
Chargez le script lab_03.sql.
a. Supprimez la procédure greet en exécutant la commande suivante : DROP
PROCEDURE greet
b. Modifiez la procédure afin qu'elle accepte un argument de type VARCHAR2.
Nommez l'argument name.
c. Affichez "Hello <name>" à la place de "Hello World".
d. Enregistrez le script sous le nom lab_03_02_sol.sql.
e. Exécutez le script afin de créer la procédure.
f. Créez et exécutez un bloc anonyme afin d'appeler la procédure greet avec un
paramètre.
Exercice3
a. Créez et exécutez une fonction qui permet d’afficher le nom d’un département dont le
numéro est donné en paramètre. Enregistrez le script sous le nom lab_03_03_sol.sql.
b. Modifiez la fonction en une procédure afin qu’elle prenne en paramètre 2 arguments :
le numéro et le nom. Exécutez la procédure et enregistrez le script sous le nom
lab_03_04_sol.sql.
Exercice4
Créer une fonction qui permet de retourner le revenu annuel d’un employé selon la formule
suivante :
Si la commission > 0 : (salaire + commission) * 12
Sinon : salaire * 13
Enregistrez le script sous le nom lab_03_05_sol.sql.
Exercice5
Créer une fonction F_FACT qui permet de calculer la factorielle d’un nombre donné en
paramètre.
Exercice6
Créer une PROCEDURE PS_AUGMENTATION qui permet d’augmenter le salaire de tous
les employés de la table EMPLOYEES de 20%.
Exercice7
Créer une PROCEDURE PS_INCREASE qui permet d’augmenter le salaire des employés de
la table EMPLOYEES :
Si le salaire est entre 1000 et 2000 alors l’augmentation est de 0.3%,
Sinon si le salaire est supérieur à 2000 alors l’augmentation est de 0.5%.
La procédure prendra en paramètre l’id de l’employé et son salaire en utilisant le mode IN
OUT pour le paramètre salaire.
Dans le programme appelant, exécutez la procédure en affichant pour chaque employé : “ The
salary of <<last_name>> increased from <<ancien_salaire>> to<<nouveau salaire>> “.

Weitere ähnliche Inhalte

Ähnlich wie tp les procedures et fonctions.docx

T1 corrections-qcm
T1 corrections-qcmT1 corrections-qcm
T1 corrections-qcm
infcom
 
exercices en C
exercices en Cexercices en C
exercices en C
coursuniv
 
6 t130g formation-ibm-websphere-transformation-extender-v8-3-fundamentals
6 t130g formation-ibm-websphere-transformation-extender-v8-3-fundamentals6 t130g formation-ibm-websphere-transformation-extender-v8-3-fundamentals
6 t130g formation-ibm-websphere-transformation-extender-v8-3-fundamentals
CERTyou Formation
 

Ähnlich wie tp les procedures et fonctions.docx (20)

Application Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateApplication Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & Hibernate
 
04 visual basic .net - les controles standard - exercice
04 visual basic .net - les controles standard - exercice04 visual basic .net - les controles standard - exercice
04 visual basic .net - les controles standard - exercice
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Formation à Efficy CRM
Formation à Efficy CRMFormation à Efficy CRM
Formation à Efficy CRM
 
C# 7 - Nouveautés
C# 7 - NouveautésC# 7 - Nouveautés
C# 7 - Nouveautés
 
420-109-MiddleTerm-F17
420-109-MiddleTerm-F17420-109-MiddleTerm-F17
420-109-MiddleTerm-F17
 
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
 
T1 corrections-qcm
T1 corrections-qcmT1 corrections-qcm
T1 corrections-qcm
 
Formation Efficy CRM - Technical training
Formation Efficy CRM - Technical trainingFormation Efficy CRM - Technical training
Formation Efficy CRM - Technical training
 
Cours wpf avancé
Cours wpf avancéCours wpf avancé
Cours wpf avancé
 
C
CC
C
 
exercices en C
exercices en Cexercices en C
exercices en C
 
6 t130g formation-ibm-websphere-transformation-extender-v8-3-fundamentals
6 t130g formation-ibm-websphere-transformation-extender-v8-3-fundamentals6 t130g formation-ibm-websphere-transformation-extender-v8-3-fundamentals
6 t130g formation-ibm-websphere-transformation-extender-v8-3-fundamentals
 
Workshop angular2
Workshop angular2 Workshop angular2
Workshop angular2
 
Cours de C++, en français, 2002 - Cours 2.1
Cours de C++, en français, 2002 - Cours 2.1Cours de C++, en français, 2002 - Cours 2.1
Cours de C++, en français, 2002 - Cours 2.1
 
Talend_BI
Talend_BITalend_BI
Talend_BI
 
Comment écrire du code testable ?
Comment écrire du code testable ?Comment écrire du code testable ?
Comment écrire du code testable ?
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
jQuery mobile [Part2]
jQuery mobile [Part2]jQuery mobile [Part2]
jQuery mobile [Part2]
 
spring-boot-fr.pdf
spring-boot-fr.pdfspring-boot-fr.pdf
spring-boot-fr.pdf
 

tp les procedures et fonctions.docx

  • 1. Classe : 3A Année universitaire :2012-2013 Enseignante : Mme Hkimi Jihene TP 3 : Les procédures et les fonctions Exercice1 Chargez le bloc PL/SQL que vous avez créé à la question 2 du TP 1. 1. Ajoutez une section déclarative à ce bloc PL/SQL. Dans la section déclarative, déclarez les variables suivantes : a. Variable today de type DATE. Initialisez today avec SYSDATE. b. Variable tomorrow de type today. Utilisez l'attribut %TYPE pour déclarer cette variable. 2. Dans la section exécutable, initialisez la variable tomorrow avec une expression qui calcule la date de demain (ajoutez un à la valeur de today). Affichez la valeur de today et de tomorrow après l'affichage de "Hello World". 3. Modifiez le script afin de convertir le bloc anonyme en procédure nommée greet. 4. Exécutez le script afin de créer la procédure. 5. Enregistrez le script sous le nom lab_03_sol.sql. 6. Créez et exécutez un bloc anonyme afin d'appeler la procédure greet. Exercice2 Chargez le script lab_03.sql. a. Supprimez la procédure greet en exécutant la commande suivante : DROP PROCEDURE greet b. Modifiez la procédure afin qu'elle accepte un argument de type VARCHAR2. Nommez l'argument name. c. Affichez "Hello <name>" à la place de "Hello World". d. Enregistrez le script sous le nom lab_03_02_sol.sql. e. Exécutez le script afin de créer la procédure. f. Créez et exécutez un bloc anonyme afin d'appeler la procédure greet avec un paramètre. Exercice3 a. Créez et exécutez une fonction qui permet d’afficher le nom d’un département dont le numéro est donné en paramètre. Enregistrez le script sous le nom lab_03_03_sol.sql.
  • 2. b. Modifiez la fonction en une procédure afin qu’elle prenne en paramètre 2 arguments : le numéro et le nom. Exécutez la procédure et enregistrez le script sous le nom lab_03_04_sol.sql. Exercice4 Créer une fonction qui permet de retourner le revenu annuel d’un employé selon la formule suivante : Si la commission > 0 : (salaire + commission) * 12 Sinon : salaire * 13 Enregistrez le script sous le nom lab_03_05_sol.sql. Exercice5 Créer une fonction F_FACT qui permet de calculer la factorielle d’un nombre donné en paramètre. Exercice6 Créer une PROCEDURE PS_AUGMENTATION qui permet d’augmenter le salaire de tous les employés de la table EMPLOYEES de 20%. Exercice7 Créer une PROCEDURE PS_INCREASE qui permet d’augmenter le salaire des employés de la table EMPLOYEES : Si le salaire est entre 1000 et 2000 alors l’augmentation est de 0.3%, Sinon si le salaire est supérieur à 2000 alors l’augmentation est de 0.5%. La procédure prendra en paramètre l’id de l’employé et son salaire en utilisant le mode IN OUT pour le paramètre salaire. Dans le programme appelant, exécutez la procédure en affichant pour chaque employé : “ The salary of <<last_name>> increased from <<ancien_salaire>> to<<nouveau salaire>> “.