Hello à tous,
J'ai lu dans le forum pas mal de topic sur des tableaux dans les clauses IN, etc... mais ça ne correspond pas trop à ce que je cherche (je pense). J'ai l'impression que la solution est assez simple mais je tourne autour du pot.
J'ai une PROC dont les requêtes font souvent appel à des IN, avec des listes de valeurs donc que j'aimerai mettre dans une variable pour facilement les modifier au besoin. Je précise que les valeurs ne sont pas des paramètres de la PROC. Lorsque je met 1 valeur dans ma variable, ça fonctionne. Avec deux valeurs la PROC tourne toujours mais le résultat final n'est pas correct.
J'ai essayé beaucoup de chose, avec ou sans parenthèses, en escapant les quote, etc... sans succès.
Donc ça ressemble à quelque chose comme :
Sur le list2value, j'ai essayé des :
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
19 CREATE OR REPLACE blabla is list1value varchar2(80); list2value varchar2(80); BEGIN list1value = 'a'; list2value = xxxxxxx ; -- voir ci dessous INSERT INTO okok SELECT * FROM blabla WHERE machinchose IN (list1value); INSERT INTO okok_bis SELECT * FROM trucbidule WHERE machinchose IN (list2value);
Sans succès.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 list2value = 'b', 'c'; list2value = ' ''b'', ''c'' '; list2value = ( 'b' || ',' || 'c' )
Merci pour l'aide !
Partager