100% ont trouvé ce document utile (1 vote)
311 vues2 pages

Les curseurs en PL/SQL : Guide pratique

Ce document décrit plusieurs exercices sur l'utilisation des curseurs en PL/SQL. Les exercices montrent comment afficher des données de la table 'emp' en utilisant des curseurs implicites et explicites, paramétrés ou non.

Transféré par

Abdallah Ab
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
100% ont trouvé ce document utile (1 vote)
311 vues2 pages

Les curseurs en PL/SQL : Guide pratique

Ce document décrit plusieurs exercices sur l'utilisation des curseurs en PL/SQL. Les exercices montrent comment afficher des données de la table 'emp' en utilisant des curseurs implicites et explicites, paramétrés ou non.

Transféré par

Abdallah Ab
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

TP2 PL/SQL Les curseurs

Soit la table emp qui stocke des informations sur les employés dune entreprise.
Créer la table emp sur le compte HR à l’aide de la requête SQL

DROP TABLE emp;

CREATE TABLE emp


( matr NUMBER(10) NOT NULL,
nom VARCHAR2(50) NOT NULL,
sal number(7,2),
adresse VARCHAR2(96),
dep NUMBER(10) NOT NULL,
CONSTRAINT emp_pk PRIMARY KEY (matr)
);

INSERT INTO EMP VALUES (0,'Turing, Alan', 2446.13, 'Manchester, GB', 1);
INSERT INTO EMP VALUES (1,'Dijkstra, Edsger', 1779.88, 'Rotterdam, NL', 1);
INSERT INTO EMP VALUES (2,'Mac Lane, Saunders', 3141.16, 'Chicago, US', 2);
INSERT INTO EMP VALUES (3,'John, Saunders', 2145.16, 'NewYork, US', 2);
INSERT INTO EMP VALUES (4,'Mac Lane, Saunders', 3141.16, 'Chicago, US', 10);

Exercice 1 (les curseurs implicites)


Ecrire un bloc PL/SQL anonyme permettant d’afficher le nombre des employés supprimés du
département 10 en utilisant SQL%ROWCOUNT

Exercice 2 (les curseurs explicites : boucle LOOP pour les curseurs)


a- Type associé à un curseur avec %TYPE

Ecrire un bloc PL/SQL anonyme permettant d’afficher les salaires et la somme des salaires de tous les
employés

Indications
- Déclarer un curseur c_sal contenant tout les salaires de la table emp
- Une variable v_sal de meme type que sal de la table emp
- Une variable v_total de meme type que sal pour calculer la somme des salaires
- Afficher le résultat de la façon suivante :
** salaire : 2446,13$
** salaire : 1779,88$
** salaire : 3141,16$
** salaire : 2145,16$
total : 9512,33$

1
b- Type associé à un curseur avec %ROWTYPE

Ecrire un bloc PL/SQL anonyme permettant d’afficher les noms des employés, leurs salaires et la
somme des salaires

Indications
- Déclarer un curseur c_emp contenant tout les salaires de la table emp
- Une variable v_emp de meme type que c_emp
- Une variable v_total de meme type que sal pour calculer la somme des salaires
- Afficher le résultat de la façon suivante :
nom : Turing, Alan ** salaire : 2446,13$
nom : Dijkstra, Edsger ** salaire : 1779,88$
nom : Mac Lane, Saunders ** salaire : 3141,16$
nom : John, Saunders ** salaire : 2145,16$
total : 9512,33$

Exercice 3 (les curseurs explicites : boucle LOOP pour les curseurs)


Modifier le bloc PL/SQL de l’exercice 2 pour afficher les noms des employés du département 1, leurs
salaires et la somme des salaires de ce département

Indications
- Déclarer un curseur c_sal contenant les salaires des employés du dep=1
- Une variable v_sal de meme type que sal
- Une variable v_total de meme type que sal pour calculer la somme des salaires
- Afficher le résultat de la façon suivante :

nom : Turing, Alan ** salaire : 2446,13$


nom : Dijkstra, Edsger ** salaire : 1779,88$
total : 4226,01$

Exercice 4 (les curseurs explicites : boucle FOR pour les curseurs)


Ecrire un bloc PL/SQL anonyme permettant d’afficher les noms des employés et leurs adresses

- Afficher le résultat de la façon suivante :


Employe : TURING, ALAN** Ville : Manchester, GB
Employe : DIJKSTRA, EDSGER** Ville : Rotterdam, NL
Employe : MAC LANE, SAUNDERS** Ville : Chicago, US
Employe : JOHN, SAUNDERS** Ville : NewYork, US

Exercice 5 (les curseurs paramétrés)


Ecrire un bloc PL/SQL anonyme permettant d’afficher les noms des employés regroupés de chaque
département

- Afficher le résultat de la façon suivante :


Dep 1 : Turing, Alan
Dep 1 : Dijkstra, Edsger
Dep 2 : Mac Lane, Saunders
Dep 2 : John, Saunders

Vous aimerez peut-être aussi