Es ist eine Einschränkung für jede Ausdrucksliste:
Eine durch Kommas getrennte Liste von Ausdrücken darf nicht mehr als 1000 Ausdrücke enthalten.
Warum 1000? Vermutlich braucht die Implementierung eine Art Limit, und das schien wahrscheinlich mehr als genug zu sein. Es kann durchaus einen Performance-Grund für die Begrenzung geben, oder sicherlich gab es, als diese Begrenzung vor Jahrzehnten festgelegt wurde, insbesondere den IN
wird in mehrfaches OR
umgewandelt Aussagen des Optimierers in diesem Fall (die Sie sehen können, wenn Sie sich den Ausführungsplan ansehen).
Ich würde mich schwer tun, ein vernünftiges Szenario zu entwickeln, das auch nur annähernd so weit kommen müsste, mit festen Werten, die sowieso nicht aus anderen Daten als Unterabfrage abgeleitet werden könnten.
Ich vermute, es hängt etwas mit den logischen Datenbankgrenzen zusammen, die besagen, dass Sie beispielsweise nicht mehr als 1000 Spalten in einer Tabelle haben können. Da eine Ausdrucksliste in einer Einfügeanweisung verwendet wird, um sowohl die Spalten als auch die einzufügenden Werte aufzulisten, muss die Ausdrucksliste in der Lage sein, damit übereinzustimmen, hat aber möglicherweise keinen Grund, sie zu überschreiten.
Spekulation natürlich ... ohne die Interna der Software zu sehen, werden Sie wahrscheinlich keine endgültige Antwort bekommen.