Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Limite alla condizione WHERE col IN (...).

A seconda del motore di database in uso, possono esserci dei limiti alla lunghezza di un'istruzione.

SQL Server ha un limite molto grande:

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

ORACLE ha un limite molto facile da raggiungere dall'altra parte.

Quindi, per clausole IN di grandi dimensioni, è meglio creare una tabella temporanea, inserire i valori ed eseguire un JOIN. Funziona anche più velocemente.