Bonjour,
je débute vraiment est donc excusé moi si la question est bête mais j'ai cherché partout et je n'ai pas trouvé. Voici mon problème:

je dois créer une fonction consultation() qui révèle au médecin les symptomes visible du patient selon sa compétence (pour l'instant je n'en teste qu'une seule).

voici ce que j'ai fait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Create or replace function consultation( medecin medecins.matricule%TYPE,  patient contamination.id_patient%TYPE)
	returns text as $$
	DECLARE 
		symptomevisible symptomes.nom_sympt%TYPE;
		competence medecins.type%TYPE;
	BEGIN
		select type into competence from medecins where matricule=medecin;	
		IF competence='referent'
        	THEN
        		FOR symptomevisible in 
        		select nom_sympt from symptomes where id_sympt in ((select id_sympt from maladie_symptomatique where nom_maladie in (select nom_maladie from contamination where id_patient=patient)))
        		LOOP 
        			return symptomevisible;
        		END LOOP;
        	end if;
	END;
$$ LANGUAGE PLPGSQL;
mais ça ne fonctionne pas:

en appelant ma fonction j'obtient:
consultation
----------------------
presence de comedons
(1 row)



alors que les symptomes du patients sont:
nom_sympt
---------------------------
presence de comedons
presence de points blancs
presence de papules
presence de de pustules
(4 rows)

Comment faire pour faire afficher les 4 symptomes, je fais une boucle mais elle ne tourne pas.
Pourriez vous m'aider??? S'il vous plait!!!

merci d'avance