Bonjour à tous,

J'ai tenté de créer une fonction dans laquelle je souhaiterais mettre le résultat d'une requête dans une variable mais j'ai des erreurs à la compilation, voici le programme pl/sql ainsi que l'erreur qu'il me retourne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
create or replace function chemin1 (var1 in integer)
return integer
is w_resultat integer;
begin
while var1 != 100 loop
select chemin(var1) into w_resultat from dual;
DBMS_OUTPUT.PUT_LINE(w_resultat);
select donne_sur into var1 from issue
where num_issue = chemin(var1);
end loop;
return w_resultat;
end;
/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
PLS-00403: l'expression 'VAR1' ne peut être utilisée comme cible
INTO d'une instruction SELECT/FETCH
J'ai également essayé d'une autre manière que voici :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
create or replace function chemin1 (var1 in integer) 
return integer
is w_resultat integer;
begin
while var1 != 100 loop
select chemin(var1) into w_resultat from dual;
DBMS_OUTPUT.PUT_LINE(w_resultat);
var1 := select donne_sur from issue
where num_issue = chemin(var1);
end loop;
return w_resultat;
end;
/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
PLS-00103: Symbole "SELECT" rencontré à la place d'un des
symboles suivants :
( - + case mod new not null <identificateur>
<identificateur entre guillemets> <variable bind> avg count
current exists max min prior sql stddev sum variance execute
forall merge time timestamp interval date
<un littéral de chaîne avec spécification de jeu de caractères>
<un nombre> <une chaîne SQL entre apostrophes> pipe
<constante de chaîne éventuellement entre guillemets avec
indication du jeu de caractèr
Code : Sélectionner tout - Visualiser dans une fenêtre à part
PLS-00103: Symbole "END" rencontré
C'est dans le cadre d'un projet que je dois rendre pour ce soir au plus tard.