sql >> Base de Datos >  >> RDS >> Oracle

ORA-01795:el número máximo de expresiones en una lista es 1000, cómo dividir la cadena

Debe escribir un bucle que ejecute el SQL en fragmentos con 1000 entradas cada uno.

Alternativamente, puede insertar los valores en una tabla y luego hacer una subselección con IN cláusula, porque con una subselección, la limitación de 1000 entradas no se aplica. Este límite es solo cuando usa un SQL con una cadena de valor codificada.

Algo como esto:

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