Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Limite na condição WHERE col IN (...)


Dependendo do mecanismo de banco de dados que você está usando, pode haver limites no comprimento de uma instrução.

O SQL Server tem um limite muito grande:

http://msdn.microsoft.com/en-us/library/ms143432.aspx

ORACLE tem um limite muito fácil de alcançar do outro lado.

Então, para cláusulas IN grandes, é melhor criar uma tabela temporária, inserir os valores e fazer um JOIN. Ele funciona mais rápido também.