SQL dans Procédure stockée
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:
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... |