-- le pâckge dbms_random peremt de ramener un nombre aléatoire du Dual;
-- cette ligne permet de ramener un nombre décimal aléatoire du dual
select dbms_random.value(1,100) from dual;

--Pour ce qui vous concerne:
-- cette ligne permet de chercher un étudiant de manière  aléatoire .
-- il suffit d'ordonner le résultat de la requête selon un nombre aléatoire puis de prendre le permier enregistrement---> astucieux!!
select * from (select * from etudiants order by (dbms_random.value(1,100)) ) where rownum =1;

-- vous pouvez utiliser le nombre total d'enregistrements et ordonner le résultat selon ce nombre.
-- c'est ce qui va être utilisé dans la fonction suivante:
--- voici votre package: -----> j'utilise la table étudiants
create or replace PACKAGE JEU AS 
TYPE CURQUES IS REF  CURSOR;
FUNCTION CHERCHERQUESTION RETURN CURQUES; 
END JEU;
-----

--- voici le Body package:

create or replace PACKAGE BODY JEU AS
  
FUNCTION CHERCHERQUESTION RETURN CURQUES as
total number;
eleve CURQUES;
begin
-- on cherche le nobre total d'étudiants
select count(*) into total from etudiants;
-- on ordonne de manière aléatoire en tenant compte de ce nombre.
open eleve for select * from (select * from etudiants order by (dbms_random.value(1,total))) where rownum =1;
return eleve;
end;
END JEU;

