sql >> Databasteknik >  >> RDS >> Oracle

ORA-01795:maximalt antal uttryck i en lista är 1000, hur man delar upp strängen

Du måste skriva en loop som kör SQL i bitar med 1000 poster vardera.

Alternativt kan du infoga värdena i en tabell och sedan göra ett underval med IN klausul, för med ett underval gäller inte begränsningen på 1000 poster. Denna gräns gäller endast när du använder en SQL med en hårdkodad värdesträng.

Något så här:

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



  1. Skapa databastabell i PL/SQL-proceduren

  2. hämta namn och värde från xmltype-attributet i oracle

  3. Hur hittar jag alla lagrade procedurer som infogar, uppdaterar eller tar bort poster?

  4. Hur hittar man summan av flera kolumner i en tabell i SQL Server 2005?