Compte rendu TP2
1-
ECLARE
D
message VARCHAR2(20) := 'Bonjour, PL/SQL !';
BEGIN
DBMS_OUTPUT.PUT_LINE(message);
END;
2-
DECLARE
largeur NUMBER := 5;
hauteur NUMBER := 10;
aire NUMBER;
BEGIN
aire := largeur * hauteur;
DBMS_OUTPUT.PUT_LINE('L''aire du rectangle est : ' || aire);
END;
-
3
DECLARE
nombre NUMBER := 7;
BEGIN
IF MOD(nombre, 2) = 0 THEN
DBMS_OUTPUT.PUT_LINE(nombre || ' est pair.');
ELSE
DBMS_OUTPUT.PUT_LINE(nombre || ' est impair.');
END IF;
END;
4-
DECLARE
nombre1 NUMBER := 15;
nombre2 NUMBER := 20;
max NUMBER;
BEGIN
IF nombre1 > nombre2 THEN
ax := nombre1;
m
ELSE
max := nombre2;
END IF;
DBMS_OUTPUT.PUT_LINE('Le maximum est : ' || max);
END;
5-
DECLARE
nombre NUMBER := 4;
factorielle NUMBER := 1;
BEGIN
FOR i IN 2..nombre LOOP
factorielle := factorielle * i;
END LOOP;
DBMS_OUTPUT.PUT_LINE('La factorielle de ' || nombre || ' est : ' ||
factorielle);
END;
/
6-
DECLARE
somme NUMBER := 0;
BEGIN
FOR i IN 1..10 LOOP
somme := somme + i;
END LOOP;
DBMS_OUTPUT.PUT_LINE('La somme des entiers de 1 à 10 est : ' ||
somme);
END;
7-
DECLARE
nombre NUMBER := 8;
carre NUMBER;
BEGIN
carre := nombre * nombre;
DBMS_OUTPUT.PUT_LINE('Le carré de ' || nombre || ' est : ' || carre);
END;
EX2
CREATE TABLE employees (
id_employee NUMBER PRIMARY KEY,
nom_employee VARCHAR2(50),
salaire NUMBER
);
INSERT INTO employees VALUES (1, 'AHMED’, 3000);
INSERT INTO employees VALUES (2, 'SEIF', 4500);
INSERT INTO employees VALUES (3, 'SELIM', 2800);
INSERT INTO employees VALUES (4, 'KARIM', 3500);
INSERT INTO employees VALUES (5, 'TOM', 2200);
DECLARE
salaire_moyen NUMBER;
salaire_max NUMBER;
salaire_min NUMBER;
BEGIN
SELECT AVG(salaire) INTO salaire_moyen FROM employees;
ELECT MAX(salaire), MIN(salaire) INTO salaire_max, salaire_min
S
FROM employees;
BMS_OUTPUT.PUT_LINE('Le salaire moyen est : ' || salaire_moyen);
D
DBMS_OUTPUT.PUT_LINE('Le salaire le plus élevé est : ' ||
salaire_max);
DBMS_OUTPUT.PUT_LINE('Le salaire le plus bas est : ' || salaire_min);
PDATE employees
U
SET salaire = salaire * 1.1
WHERE salaire < salaire_moyen;
BMS_OUTPUT.PUT_LINE('Nouveaux salaires :');
D
FOR emp IN (SELECT * FROM employees) LOOP
DBMS_OUTPUT.PUT_LINE('Employé : ' || emp.nom_employee || ',
Salaire : ' || [Link]);
END LOOP;
END;