Vous êtes sur la page 1sur 4

Module :

Administration et Scurit des Bases de Donnes

Correction Travaux Pratiques


N1

/* Q1 */

declare
v_cpte number(3);
begin
select count(*)
into v_cpte
from pilote;
dbms_output.put_line('le nombre de pilote existant dans la base est:');
dbms_output.put_line(v_cpte);
end;
/

/* Q2 */
declare
v_com real;
v_embauche date;
begin
select comm, embauche
into v_com, v_embauche
from pilote
where sal = (select max(sal)
from pilote);
dbms_output.put_line('Commission:');
dbms_output.put_line(v_com);
dbms_output.put_line('Date Embauche :');
dbms_output.put_line(v_embauche);
end;
/
/* Q3 */
declare
v_nom pilote.nom%type;
v_sal pilote.sal%type;
begin
select nom, sal
into v_nom, v_sal
from pilote
where nopilot='6723';
dbms_output.put_line('le nom du pilote est: '||v_nom);
dbms_output.put_line('le salaire est: '||v_sal);
end;
/
/* Q4 */
declare
v_nom avion.nom%type;
begin
select nom
into v_nom
from avion a
where 5< (select count(vol)
from affectation, avion
where avion.nom = a.nom
and affectation.avion =avion.nuavion
group by avion);
dbms_output.put_line(v_nom);
end;
/
/* Q5 */
/* 1ire mthode */
declare
v_nom pilote.nom%type;
v_sal pilote.sal%type;
begin
select nom, sal
into v_nom, v_sal
from pilote
where embauche = (select min(embauche)
from pilote);
dbms_output.put_line('le nom du pilote est : '||v_nom);
dbms_output.put_line('le salaire est : '||v_sal);
end;
/
/* 2ire mthode */
declare
type i_pilote is record(
v_nom pilote.nom%type,
v_sal pilote.sal%type);
inf_pilote i_pilote;
begin
select nom, sal
into inf_pilote
from pilote
where embauche = (select min(embauche)
from pilote);
dbms_output.put_line('le nom du pilote est : '||inf_pilote.v_nom);
dbms_output.put_line('le salaire est : '||inf_pilote.v_sal);
end;
/
/* Q6 */

/* 1ire mthode */
declare
v_codtyp appareil.codetype%type;
c number(3) := 0;
begin
select codetype, count(nuavion)
into v_codtyp, c
from appareil, avion
where appareil.codetype=avion.type
and codetype ='AB3'
group by codetype;
dbms_output.put_line('le code type: '||v_codtyp);
dbms_output.put_line('le nombre davion: '||c);
end;
/
/* Q6 */
/* 2ire mthode */
declare
type i_appareil is record(
v_codtyp appareil.codetype%type,
c number(3));
e_appareil i_appareil;
begin
select codetype, count(nuavion)
into e_appareil
from appareil, avion
where appareil.codetype=avion.type
and codetype ='AB3'
group by codetype;
dbms_output.put_line('le code type: '||e_appareil.v_codtyp);
dbms_output.put_line('le nombre davion: '||e_appareil.c);
end;
/
/* Q7 */
declare
v_codetype CONSTANT appareil.codetype%type:='735';
v_nbplace CONSTANT appareil.nbplace%type:=450;
v_design CONSTANT appareil.design%type:='737-400';
begin
insert into appareil
values(v_codetype,v_nbplace,v_design);
commit work;
end;
/
/* Q7 */
/*2ime mthode */
declare
begin
insert into appareil
values('735',450,'737-400');
commit work;
end;
/
/* Q8 */
declare
moy real default 13000;
begin
select avg(nbhvol)
into moy
from avion;
dbms_output.put_line('moyenne= '||moy);
end;
/
/* Q9 */
declare
v_sal pilote.sal%type;
v_comm pilote.comm%type;
begin
select sal, comm
into v_sal, v_comm
from pilote
where nopilot = '1333';
if v_sal < v_comm
then update pilote
set sal = v_sal*1.2
where nopilot ='1333';
dbms_output.put_line('le salaire major de 10%');
else
dbms_output.put_line('le salaire est inf la comm');
end if;
commit work;
end;
/

Vous aimerez peut-être aussi