Det er en begrænsning på enhver udtryksliste:
En kommasepareret liste over udtryk må ikke indeholde mere end 1000 udtryk.
Hvorfor 1000? Formentlig har implementeringen brug for en form for grænse, og det virkede nok som mere end nok. Der kan meget vel være, eller helt sikkert kan have været, da denne grænse blev fastsat for årtier siden, også en præstationsårsag til grænsen, især som IN
konverteres til flere OR
udtalelser fra optimizeren i dette tilfælde (som du kan se, hvis du ser på udførelsesplanen).
Jeg ville kæmpe for at komme med et rimeligt scenarie, der skulle komme i nærheden af det, med faste værdier, der alligevel ikke kunne udledes fra andre data som en underforespørgsel.
Jeg formoder, at det er noget relateret til de logiske databasegrænser, som siger, at du for eksempel ikke kan have mere end 1000 kolonner i en tabel; da en udtryksliste bruges i en insert-sætning til at vise både kolonnerne og de værdier, der indsættes, skal udtrykslisten være i stand til at matche det, men har måske ingen grund til at overskride den.
Spekulationer selvfølgelig... uden at se softwarens interne dele er det usandsynligt, at du får et endeligt svar.