Liste multivalué pour un select
Bonjour,
Je souhaite recuperer une liste multivalué
passez par un logiciel en javascript,
Ce logiciel appel une procédure stockée.
Je reçoit donc une chaine du type (variable1,variable2) pour les paramétres de ma procédures. variable 2 est de la forme 'a,b,c,d')
j'utilisais le code suivant avant de tomber sur la limitation de 30 caractères.
Code:
1 2
|
(replace(SSUBSECTOR,' ','_1_') IN (SELECT * FROM TABLE(SGCIB_FCT_SPLIT2(replace(T_SECTOR,' ','_1_')))) OR SSUBSECTOR IS NULL) |
ou la fonction split2 est
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
FUNCTION SGCIB_FCT_SPLIT2
( p_str Varchar2,
p_sep Varchar2 DEFAULT ','
) RETURN tab_str
PIPELINED
IS
l_tab dbms_utility.uncl_array;
l_tablen number;
position integer:=0;
Begin
position:=dbms_lob.instr(p_str,p_sep, 1, 1);
If position <> 0
THEN
dbms_utility.comma_to_table(REPLACE(p_str,p_sep,','), l_tablen, l_tab);
FOR i IN 1..l_tablen Loop
pipe row(s_str(l_tab(i)));
End Loop;
RETURN ;
END IF;
End SGCIB_FCT_SPLIT2; |
Ma question est la suivante, comment contourner ce probleme de limitaion a 30 caractères ?
J'essaye une piste de collection pour l'instant mais sans succés jusqu'a présent.
Merci de votre aide