Bonjour,
La liste de valeurs d'une clause In est par défaut limitée à 1000.
Y a t'il un paramètre modifiable dans la base afin d'autoriser une liste de valeurs supérieure à 1000
Cordialement
Jérôme
Version imprimable
Bonjour,
La liste de valeurs d'une clause In est par défaut limitée à 1000.
Y a t'il un paramètre modifiable dans la base afin d'autoriser une liste de valeurs supérieure à 1000
Cordialement
Jérôme
Pas à ma connaissance.
Compte-tenu du nombre d'éléments que vous désirez sélectionner, une jointure semble plus indiquée.
Vous pouvez éviter cette limite en utilisant une expression dans la liste comme dans l'exemple suivant:
"A comma-delimited list of expressions can contain no more than 1000 expressions. A comma-delimited list of sets of expressions can contain any number of sets, but each set can contain no more than 1000 expressions."Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 SQL> drop table t; Table dropped. SQL> create table t as select rownum n1 from dual connect by level <= 1001; Table created. SQL> select * from t where n1 in (1,2,3); N1 ---------- 1 2 3 SQL> select * from t where (n1,9) in ( (1,9),(2,9),(3,9)); N1 ---------- 1 2 3
Mais comme déjà signalé par waldar, il y a des solutions plus performantes que de passer par ce chemin.