Sie sind auf Seite 1von 4

1) La procédure permettant de lister les stagiaires d'une filière donnée

2) La procédure permettant d'afficher les stagiaires ayant l'âge dans la tranche précisée par
l'utilisateur.
3) Augmenter d'un point les notes des stagiaires dans le module –C++-
4) La liste des stagiaires dont le nom commence par une lettre spécifiée par l'utilisateur
5) La procédure permettant de lister les notes d'un stagiaire donné
6) Le bulletin de notes d'un stagiaire donné.
7) Liste des stagiaires inscrits entre deux dates.
8) Liste des stagiaires non notés pour le module -JS-
9) Procédure qui vérifie si une filière dont le code est donné en paramètre, possède des
stagiaires, affiche un message, sinon supprimer cette filière .

delimiter $$
create procedure ex9(NumF int)
begin
/*Verifier si la filiere existe */
if exists( select * from filiere where NFiliere =numF) then
begin
/*Verifier si la filiere contient des stagiaires */
if exists( select * from stagiaire where NFiliere =numF) then
Select concat( 'La filiere num : ' , numF , ' Contient des stagiaires, On ne peut
pas la supprimer') as 'Remarque';
else
Begin
Select concat( 'Aucun stagiaire n est inscrit dans La filiere num : ' , numF , ' , Elle
sera supprimée') as 'Resultat';
delete from filiere where NFiliere =NumF;
End;
end if;
end;
else
Select concat( ' La filiere num : ' , numF , ' , n existe pas ') as 'Resultat';
end if;end$$

10) Créer une table archive_filière ayant la même structure que filière.
Procédure qui vérifie si une filière dont le code est donné en paramètre, possède des
stagiaires, affiche un message,
Sinon
On archive cette filière dans la table archive_filière
Supprimer cette filière
Afficher un message de confirmation

delimiter $$
create procedure ex10(numF int)
begin

/*Verifier si la filiere existe */


if exists( select * from filiere where NFiliere =numF) then
begin
/*Verifier si la filiere contient des stagiaires */
if exists( select * from stagiaire where NFiliere =numF) then
Select concat( 'La filiere num : ' , numF , ' Contient des stagiaires, On ne
peut pas la supprimer') as 'Remarque';
else
Begin
Select concat( 'Aucun stagiaire n est inscrit dans La filiere num : ' , numF , ' ,
Elle sera supprimée') as 'Resultat';
/* archiver la filiere avant de la supprime */
insert into Archive_filiere select * from filiere where NFiliere =NumF;
delete from filiere where NFiliere =NumF;
End;
end if;
end;
else
Select concat( ' La filiere num : ' , numF , ' , n existe pas ') as 'Resultat';
end if;
end$$

11) Afficher les informations des stagiaires qui ont plus de deux notes.(ont passé plus de 2
exams)

delimiter $$
create procedure ex11()
begin

select s.NStagiaire, s.Nom, s.Prenom, s.dateNaiss, count(n.note) as ‘Nombre de notes’


from stagiaire s, notation n
where s.NStagiaire=n.NStagiaire
group by s.NStagiaire, s.Nom, s.Prenom, s.dateNaiss
having count(n.note)>2 ;

end$$

12) Pour retourner le nombre des stagiaires inscrits dans une filière donnée.

nbrs
Nf

delimiter $$
create procedure ex12(in nf int, out nbrs int)
begin
select count(s.NStagiaire)
into nbrs
from stagiaire s
where s.NFiliere =nf;
end$$
Set @x=0 ;
Exec ex12(3,@x)
SELECT CONCAT( @x , ' stagiaires sont inscrits dans la filiere', 3 )

13) Pour retourner l’intitulé, capacité, nombre d’année d’une filière donnée.
Intitulé filiere
nf Capacité
Nbr Année

delimiter $$
create procedure ex13(in nf int, out t varchar(60) ,out cap int , out an int)
begin

select intituleFil , capacite , NbrAnnee


into t,cap, an
from filiere
where NFiliere =nf;

end$$
Set @t='' ;
Set @cap='' ;
Set @an='' ;
Set @code=3 ;
call ex13(@code, @t,@cap,@an);
SELECT CONCAT( @code,'\t', @t,'\t',@cap,'\t',@an )
as 'code intitulé capacita NbrAn'
14) Qui ajoute une notation Qui ajoute une notation
Si le stagiaire n’existe pas : elle affiche un message,
Sinon ,Si le module n’existe pas, elle va le créer avec intitulé : Nouveau module, Masse
horaire:0 ;
sinon On peut créer la note

Set @pk=0;
Select max(NModule) into @pkfrom module
Set @pk=@pk+1;
Insert into module values(@PK , ‘Nouveau module’, 0)
Insert into notation(@numéroNot , @NStagiaire, @NModule, @note )

Das könnte Ihnen auch gefallen