0% ont trouvé ce document utile (0 vote)
33 vues5 pages

PLSQL Exercises

Le document présente plusieurs exercices de programmation PL/SQL visant à manipuler des données d'employés. Chaque exercice inclut un code de base et des instructions pour le modifier, comme afficher un message personnalisé, récupérer des noms d'employés par ID, et utiliser des curseurs pour parcourir des enregistrements. Les utilisateurs sont encouragés à personnaliser le code en fonction de leurs besoins.

Transféré par

salem
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)
33 vues5 pages

PLSQL Exercises

Le document présente plusieurs exercices de programmation PL/SQL visant à manipuler des données d'employés. Chaque exercice inclut un code de base et des instructions pour le modifier, comme afficher un message personnalisé, récupérer des noms d'employés par ID, et utiliser des curseurs pour parcourir des enregistrements. Les utilisateurs sont encouragés à personnaliser le code en fonction de leurs besoins.

Transféré par

salem
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

## · Exercice 1 · Bloc simple avec variable

**Objectif :** Afficher un message personnalisé avec une variable.

**Code :**
DECLARE
v_nom VARCHAR2(20) := 'Amine';
BEGIN
DBMS_OUTPUT.PUT_LINE('Bonjour ' || v_nom || ' !');
END;

**À faire :** Modifie le code pour afficher ton propre prénom.
## · Exercice 2 · Bloc avec SELECT INTO

**Objectif :** Récupérer le nom d·un employé à partir de son ID.

**Code :**
DECLARE
v_nom employees.last_name%TYPE;
BEGIN
SELECT last_name INTO v_nom
FROM employees
WHERE employee_id = 101;

DBMS_OUTPUT.PUT_LINE('Nom : ' || v_nom);


END;

**À faire :** Change l·employee_id pour tester avec d·autres valeurs.
## · Exercice 3 · Curseur simple avec boucle

**Objectif :** Parcourir tous les employés d·un département.

**Code :**
DECLARE
CURSOR cur_emp IS
SELECT employee_id, last_name FROM employees WHERE department_id = 60;
v_id employees.employee_id%TYPE;
v_nom employees.last_name%TYPE;
BEGIN
OPEN cur_emp;
LOOP
FETCH cur_emp INTO v_id, v_nom;
EXIT WHEN cur_emp%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('ID: ' || v_id || ' - Nom: ' || v_nom);
END LOOP;
CLOSE cur_emp;
END;

**À faire :** Change le department_id. Ajoute une condition IF pour afficher seulement les noms commençan
## · Exercice 4 · Curseur avec RECORD et boucle FOR

**Objectif :** Utiliser un RECORD pour simplifier le code.

**Code :**
DECLARE
CURSOR cur_emp IS
SELECT employee_id, last_name FROM employees WHERE department_id = 90;
rec_emp cur_emp%ROWTYPE;
BEGIN
OPEN cur_emp;
LOOP
FETCH cur_emp INTO rec_emp;
EXIT WHEN cur_emp%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('ID: ' || rec_emp.employee_id || ' - Nom: ' || rec_emp.last_name);
END LOOP;
CLOSE cur_emp;
END;

**À faire :** Transforme ce code en boucle FOR rec IN cur_emp LOOP.
## · Exercice 5 · Curseur paramétré

**Objectif :** Créer un curseur dynamique selon un département donné.

**Code :**
DECLARE
CURSOR cur_emp(p_dept NUMBER) IS
SELECT employee_id, last_name FROM employees WHERE department_id = p_dept;
rec_emp cur_emp%ROWTYPE;
BEGIN
OPEN cur_emp(50);
LOOP
FETCH cur_emp INTO rec_emp;
EXIT WHEN cur_emp%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(rec_emp.last_name);
END LOOP;
CLOSE cur_emp;
END;

**À faire :** Demande à l·utilisateur d·entrer un department_id (avec une variable).

Vous aimerez peut-être aussi