Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

como adicionar mais de 1000 valores com cláusula NOT IN


Você disse que não quer, mas:use uma tabela temporária. Essa é a solução correta aqui.

A análise de consulta é cara no Oracle, e é isso que você obtém quando coloca milhares de identificadores em um blob gigante de SQL. Além disso, há limites mal definidos no comprimento da consulta que você vai atingir. Fazendo um anti-JOIN contra uma mesa, por outro lado... Oracle é bom nisso. Carregando dados em massa em uma tabela, o Oracle também é bom nisso. Use uma tabela temporária.

Limitando IN a mil entradas é uma verificação de sanidade. O fato de você estar acertando significa que você está tentando fazer algo insano.