Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Begrenzung der Bedingung WHERE col IN (...).

Je nach verwendeter Datenbank-Engine kann die Länge einer Anweisung begrenzt sein.

SQL Server hat eine sehr große Grenze:

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

ORACLE hat auf der anderen Seite eine sehr leicht zu erreichende Grenze.

Für große IN-Klauseln ist es also besser, eine temporäre Tabelle zu erstellen, die Werte einzufügen und einen JOIN durchzuführen. Es funktioniert auch schneller.