Je to omezení pro jakýkoli seznam výrazů:
Seznam výrazů oddělených čárkami nemůže obsahovat více než 1000 výrazů.
Proč 1000? Implementace pravděpodobně potřebuje nějaký limit, a to se pravděpodobně zdálo více než dostatečné. Může také existovat, nebo určitě mohl existovat, když byl tento limit stanoven před desítkami let, důvod pro výkon limitu, zejména jako IN
se převede na více OR
prohlášení optimalizátora v tomto případě (což můžete vidět, když se podíváte na plán provádění).
Snažil bych se přijít s rozumným scénářem, který by se tomu musel přiblížit, s pevnými hodnotami, které by stejně nebylo možné odvodit z jiných dat jako dílčí dotaz.
Mám podezření, že to trochu souvisí s logickými limity databáze, které říkají, že například v tabulce nemůžete mít více než 1000 sloupců; protože se v příkazu insert používá seznam výrazů k výpisu sloupců i vkládaných hodnot, seznam výrazů tomu musí odpovídat, ale možná nemá důvod jej překračovat.
Samozřejmě spekulace... aniž byste viděli vnitřní části softwaru, pravděpodobně nedostanete definitivní odpověď.