Oracle
 sql >> Database >  >> RDS >> Oracle

ORA-01795:il numero massimo di espressioni in una lista è 1000, come dividere la stringa

Devi scrivere un ciclo che esegua l'SQL in blocchi con 1000 voci ciascuno.

In alternativa puoi inserire i valori in una tabella e poi fare una sottoselezione con il IN clausola, perché con una sottoselezione non si applica il limite di 1000 voci. Questo limite è solo quando utilizzi un SQL con una stringa di valori codificata.

Qualcosa del genere:

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