Vous êtes sur la page 1sur 3

Exercice 1 :

Soit la relation suivante Batiment(numb,nomb,numetage,cp)

Afficher tous les informations des batiments (utilisation de structure).

set SERVEROUTPUT on;

Declare

TYPE str_bat IS RECORD( num_b Batiment.numb%type,

nom_b Batiment.nomb%type,

num_etage Batiment.numetage %type,

code_postal Batiment.cp%type) ;

type table_batiment is table of str_bat index by binary_integer;

tab_batiment table_batiment;

Begin

select * BULK COLLECT into tab_batiment from batiment ;

for i in 1.. tab_batiment .count loop

dbms_output.put_line('numero batiment: '|| tab_batiment(i).num_b);

dbms_output.put_line('nom batiment: '|| tab_batiment(i).nom_b);

dbms_output.put_line('numero d’etage batiment: '|| tab_batiment(i).num_etage);

dbms_output.put_line(' code postal batiment: '|| tab_batiment(i).code_postal );

end loop;

end;

Exercice 2 :

Soit la relation suivante Batiment(numb,nomb,numetage,cp)

Afficher tous les informations des batiments (utilisation de curseur).

set SERVEROUTPUT on;


declare

cursor cur_batiment is select * from batiment;

var_cur cur_batiment %rowtype;

begin

for var_cur in cur_batiment loop

dbms_output.put_line('numero batiment: '|| var_cur.numb);

dbms_output.put_line('nom batiment: '|| var_cur.nomb);

dbms_output.put_line('numero d’etage batiment: '|| var_cur.numetage);

dbms_output.put_line(' code postal batiment: '|| var_cur.cp);

end loop;

end;

Exercice 3:

Soit la relation suivante Etudiant (nume,nome,ville,dateNaissance)

Afficher tous les informations des Etudiants.

set serverout on;

Declare

type table_Etudian is table of Etudiant%rowtype index by binary_integer;

tab_Etudiant table_Etudiant;

Begin

select * BULK COLLECT into tab_Etudian from Etudiant ;

for i in 1.. sql%rowcount loop

dbms_output.put_line('numero Etudiant: '|| tab_ Etudiant(i).nume);

dbms_output.put_line('nom Etudiant: '|| tab_ Etudiant(i).nome);

dbms_output.put_line(ville: '|| tab_ Etudiant(i).ville);

dbms_output.put_line(' dateNaissance: '|| tab_ Etudiant(i).dateNaissance);

end loop;

end;
/

Exercice 4:

Soit la relation suivante Employe (nume,nome,ville,datedeprt,salaire)

Augmenter le salaire de 10% pour les employés qui ont un départ avant le 2016-01-01 et qui habitent à
fes .

set SERVEROUTPUT on;

declare

cursor cur_emp is select * from Employe;

var_cur cur_emp%rowtype;

begin

for var_cur in cur_emp loop

If ( var_cur .datedepart < ‘2016-01-01 ‘ and var_cur .ville=’fes’ ) then

UPDATE Employe SET salaire=salire*1.1 where nume= var_cur.nume;

End If;

end loop;

end;

set SERVEROUTPUT on;

declare

cursor cur_emp is select * from Employe where datedepart < ‘2016-01-01 ‘ and ville=’fes’;

var_cur cur_emp%rowtype;

begin

for var_cur in cur_emp loop

UPDATE Employe SET salaire=salire*1.1 where nume= var_cur.nume;

end loop;

end;

Vous aimerez peut-être aussi