Bonjour,

je dois faire une requete de type WHERE truc IN ('x','y','z') dans une procédure stockée (appelée via JDBC) et le paramètre ('x','y','z'), je dois le passer en paramètre de la procédure (dans mon exemple, le paramètre est exp_liste_famsim). Mon problème est que ce paramètre est évalué en chaine de caractères par Oracle.
Dois-je déclarer ce paramètre d'une autre manière?


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
18
 
PROCEDURE exportXML (    -- Id de l'export
                                -- Liste des simulateurs de la forme ('AM1', 'AM2',...)  
                                exp_liste_famsim IN VARCHAR2,
				-- Moteur Avion  
                                exp_mot_avion IN VARCHAR2,
                                -- Code de retour (0:OK ; 1 KO)
                                exp_ret OUT VARCHAR2) IS
 
			id_export          schema1.xmlTypes.ID%Type;
			configuration	   VARCHAR2(100);
			liste_fam_sim	   VARCHAR2(100);
 
BEGIN
 
insert into schema1.xmlTypes (dateEx,fam,mot,id,data)
 values (TO_CHAR(sysdate, 'yyyymmdd'), exp_liste_famsim, exp_mot_avion, id_export, (XMLElement("FICHIER",
                                XMLAttributes(configuration AS "configuration"),  ... select * from SIGNAUX s                                                                                 where S.FAM_SIM in exp_liste_famsim                                                                            and AV_MOT = exp_mot_avion...