Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

ORA-01795:número máximo de expressões em uma lista é 1000 , como dividir a string


Você deve escrever um loop que execute o SQL em pedaços com 1000 entradas cada.

Alternativamente você pode inserir os valores em uma tabela e então fazer uma subseleção com o IN cláusula, porque com uma subseleção, a limitação de 1.000 entradas não se aplica. Esse limite é somente quando você usa um SQL com uma string de valor codificada permanentemente.

Algo assim:
select *
from mytable t
where t.column1 = value
and t.column2 in
(
    select my_values
    from my_temp_table
)