sql >> Database >  >> RDS >> Oracle

ORA-01795:maximum aantal expressies in een lijst is 1000 , hoe de string te splitsen

Je moet een lus schrijven die de SQL uitvoert in stukjes met elk 1000 items.

Als alternatief kunt u de waarden in een tabel invoegen en vervolgens een subselectie uitvoeren met de IN clausule, omdat bij een subselect de beperking van 1000 items niet van toepassing is. Deze limiet is alleen van toepassing wanneer u een SQL gebruikt met een hardgecodeerde waardereeks.

Zoiets als dit:

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



  1. mysql kan niet worden gestart in Mgt Development Environment

  2. mySQL-experts - hebben hulp nodig bij 'intersect'

  3. Een waarde coderen met behulp van de AES_ECRYPT-functie van MySQL en deze vervolgens doorgeven in een URL-tekenreeks, met behulp van PHP

  4. Het vermijden van frequente oproepen naar dezelfde weergave binnen een Oracle-procedure