Fichier PDF

Partage, hébergement, conversion et archivage facile de documents au format PDF

Partager un fichier Mes fichiers Convertir un fichier Boite à outils Recherche Aide Contact



TP2 PLSQL Correction .pdf



Nom original: TP2 PLSQL Correction.pdf
Titre: Microsoft Word - TP2 PLSQL Correction.docx
Auteur: sony14white

Ce document au format PDF 1.4 a été généré par Microsoft Word - TP2 PLSQL Correction.docx / ScanSoft PDF Create! 5, et a été envoyé sur fichier-pdf.fr le 16/03/2012 à 08:32, depuis l'adresse IP 197.28.x.x. La présente page de téléchargement du fichier a été vue 1879 fois.
Taille du document: 54 Ko (3 pages).
Confidentialité: fichier public




Télécharger le fichier (PDF)









Aperçu du document


TP2 PL/SQL
Soit la table "clients" suivante :
Num : clé primaire, entier, 3 chiffres
Solde : réel
Nom : chaîne de caractères (longueur 30)
Prénom : chaîne de caractères (longueur 30)

Ecrivez un block PL/SQL permettant de :
1.
2.

Créer la table "clients" si elle n’existe pas
Créer une procédure qui permet d’afficher les noms et les prénoms des
employés, ordonnés par leurs soldes.
CREATE OR REPLACE PROCEDURE list_nom_clients
IS
BEGIN
DECLARE
CURSOR c_nom_clients IS
select nom,prenom from clients ORDER BY solde;
BEGIN
FOR le_client IN c_nom_clients LOOP
dbms_output.put_line('Nom: ' || UPPER(le_client.nom) ||' Prénom : '||
le_client.prenom);
END LOOP;
END;
END;

3.

Créer une procédure qui affiche les noms des employés dont le solde est
supérieur à 1000. Si le solde est compris entre 1000 et 2000, la procédure
affichera les noms et les prénoms des employés. Sinon, la procédure affichera
les noms, prénoms et soldes des employés concernés.
CREATE OR REPLACE PROCEDURE list_nom_clients
IS
BEGIN
DECLARE
CURSOR c_nom_clients IS
select nom,prenom, solde from clients;
BEGIN

1

FOR le_client IN c_nom_clients LOOP
IF le_client.solde < 1000 THEN
dbms_output.put_line('Nom: ' || UPPER(le_client.nom));
ELSIF (le_client.solde > 1000 AND le_client.solde <2000) then
dbms_output.put_line('Nom: ' || UPPER(le_client.nom) ||'Prénom : ' ||
le_client.prenom);
ELSE
dbms_output.put_line('Nom: ' || UPPER(le_client.nom) ||'Prénom : ' ||
le_client.prenom
|| ‘Solde’ || le_client.solde);
END IF;
END LOOP;
END;
END;
4.

Créer un programme qui affiche toutes les données d’un numéro d’employé
donné. Saisir une exception si le numéro n’existe pas et une autre si le
numéro est trop long (>3 chiffres)
DECLARE
numero Number(3) := &numero_a_donner;
Le_client clients%ROWTYPE;
BEGIN
SELECT * INTO le_client FROM clients
WHERE num = numero;
EXCEPTION
WHEN no_data_found THEN dbms_output.put_line('Donnée non trouvée');
WHEN value_error THEN dbms_output.put_line('numero trop long');
WHEN OTHERS THEN NULL;
END;

5.

Créer un programme qui, tant que le nom est différent de "Mosbah", affiche la
liste des soldes des employés
DECLARE
CURSOR c_nom_clients IS
select nom,prenom,solde from clients;
BEGIN
for le_client in c_nom_clients
LOOP
if le_client.nom <> 'Mosbah' then
dbms_output.put_line('Solde ' || le_client.solde);
end if;
END LOOP;
END;

2

6.

Créer une fonction qui prend en entrée un paramètre du même type que le
champ "Num" et qui retourne vrai si le numéro d’employé existe, faux sinon.
create or replace function tester (numero clients.num%type)
return boolean is
nb boolean;
n number;
begin
n:=0;
select num into n from clients where num=numero;
if n=0 then nb:= false;
else nb:=true;
end if;
return nb;
end;

3


TP2 PLSQL Correction.pdf - page 1/3
TP2 PLSQL Correction.pdf - page 2/3
TP2 PLSQL Correction.pdf - page 3/3

Documents similaires


Fichier PDF tp2 plsql correction
Fichier PDF create or replace trigger triggeer
Fichier PDF examencorrige sgbd plsql
Fichier PDF bdgsbcrprocedurestocke
Fichier PDF tp3 plsql correction
Fichier PDF nfp107 partiel 2014 corrige


Sur le même sujet..