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

come aggiungere più di 1000 valori con la clausola NOT IN

Hai detto che non vuoi, ma:usa una tabella temporanea. Questa è la soluzione corretta qui.

L'analisi delle query è costosa in Oracle ed è ciò che otterrai inserendo migliaia di identificatori in un gigantesco blob di SQL. Inoltre, ci sono limiti mal definiti sulla lunghezza della query che stai per colpire. Fare un anti-JOIN contro un tavolo, d'altra parte... Oracle è bravo in questo. Caricamento in blocco dei dati in una tabella, Oracle è bravo anche in questo. Usa una tabella temporanea.

Limitare IN a mille voci è un controllo di integrità. Il fatto che lo stai colpendo significa che stai cercando di fare qualcosa di folle.