50% ont trouvé ce document utile (2 votes)
2K vues4 pages

TP1 PLSQL Avec Correction

Le document contient trois exercices PL/SQL. Le premier crée une table temporaire et y insère des données. Le deuxième affiche le nombre d'employés dans un service. Le troisième met à jour ou affiche le salaire d'un employé.

Transféré par

khalid moussaid
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
50% ont trouvé ce document utile (2 votes)
2K vues4 pages

TP1 PLSQL Avec Correction

Le document contient trois exercices PL/SQL. Le premier crée une table temporaire et y insère des données. Le deuxième affiche le nombre d'employés dans un service. Le troisième met à jour ou affiche le salaire d'un employé.

Transféré par

khalid moussaid
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

TP1 PLSQL

Exercice1
1) Pour réaliser l'exercice suivant, vous devez disposer d'une table temporaire où seront
stockés les résultats. Créez une table nommée TEMP, qui comporte les trois colonnes
suivantes :

Nom de colonne NUM_STORE CHAR_STORE DATE_STORE


Type de clé
Valeurs
NULL/uniques
Table FK
Colonne FK
Type de données NUMBER VARCHAR2 DATE
Longueur 7,2 35

2) Ecrivez un bloc PL/SQL qui contienne deux variables, MESSAGE et DATE_WRITTEN.


Déclarez MESSAGE en tant que type de données VARCHAR2 d'une longueur de 35 caractères
et DATE_WRITTEN en tant que type de données DATE. Affectez les valeurs suivantes aux
variables :

Variable Contenu

MESSAGE 'This is my first PL/SQL program'


DATE_WRITTEN Date en cours
Stockez les valeurs dans les colonnes appropriées de la table TEMP. Vérifiez les résultats
en interrogeant la table TEMP.

Exercice2
Ecrivez un bloc PL/SQL pour afficher le nombre de personnes travaillant dans un service
(paramètre du bloc).

Indice : Activez DBMS_OUTPUT dans iSQL*Plus en utilisant SET SERVEROUTPUT ON.

Exercice3
Ecrivez un bloc PL/SQL qui déclare une variable nommée v_salary contenant le salaire d'un
employé. Dans la section exécutable du programme, effectuez les opérations suivantes :

a. Stockez le nom de l'employé dans une variable de substitution iSQL*Plus

b. Stockez son salaire dans la variable v_salary

c. Si le salaire est inférieur à 3 000, augmentez l'employé de 500 et affichez le message


"<Employee Name>'s salary updated" dans la fenêtre.

d. Si le salaire de l'employé est supérieur à 3 000, affichez-le au format suivant


"<Employee Name> earns ..................".
e. Testez le bloc PL/SQL avec les noms de famille.
Correction TP1 PLSQL
1)
CREATE TABLE temp
(num_store NUMBER(7,2),
char_store VARCHAR2(35),
date_store DATE);

DECLARE
MESSAGE VARCHAR2(35);
DATE_WRITTEN DATE;
BEGIN
MESSAGE := 'This is my first PLSQL Program';
DATE_WRITTEN := SYSDATE;
INSERT INTO temp(CHAR_STORE,DATE_STORE)
VALUES (MESSAGE,DATE_WRITTEN);
END;
/
SELECT * FROM TEMP;

2)

SET SERVEROUTPUT ON
DECLARE
V_COUNT NUMBER(3);
V_DEPTNO DEPARTMENTS.department_id%TYPE := &P_DEPTNO;
BEGIN
SELECT COUNT(*) INTO V_COUNT FROM employees
WHERE department_id = V_DEPTNO;
DBMS_OUTPUT.PUT_LINE (V_COUNT || ' employee(s) work for
department number ' ||V_DEPTNO);
END;
/
3)

SET SERVEROUTPUT ON
DECLARE
V_SALARY NUMBER(7,2);
V_LASTNAME EMPLOYEES.LAST_NAME%TYPE;
BEGIN
SELECT salary INTO V_SALARY
FROM employees
WHERE last_name = INITCAP('&&P_LASTNAME') FOR UPDATE of
salary;
V_LASTNAME := INITCAP('&P_LASTNAME');
IF V_SALARY < 3000 THEN
UPDATE employees SET salary = salary + 500
WHERE last_name = INITCAP('&P_LASTNAME') ;
DBMS_OUTPUT.PUT_LINE (V_LASTNAME || '''s salary updated');
ELSE
DBMS_OUTPUT.PUT_LINE (V_LASTNAME || ' earns ' ||
TO_CHAR(V_SALARY));
END IF;
END;
/

Vous aimerez peut-être aussi