प्रत्येक SQL बैच को बैच आकार सीमा में फिट होना चाहिए:65,536 * नेटवर्क पैकेट आकार।
इसके अलावा, आपकी क्वेरी रनटाइम स्थितियों द्वारा सीमित है। यह आमतौर पर स्टैक आकार से बाहर हो जाएगा क्योंकि x IN (a,b,c) और कुछ नहीं बल्कि x=a OR x=b OR x=c है जो x=a OR (x=b OR (x) के समान एक एक्सप्रेशन ट्री बनाता है। =c)), इसलिए यह बड़ी संख्या में OR के साथ बहुत गहरा हो जाता है। SQL 7 IN में लगभग 10k मानों पर SO से टकराएगा, लेकिन आजकल ढेर बहुत गहरे हैं (x64 के कारण), इसलिए यह बहुत गहराई तक जा सकता है।
अपडेट करें
SQL सर्वर पर सूचियों/सरणी पास करने के विषय पर आपको पहले से ही एरलैंड का आलेख मिल गया है। SQL 2008 के साथ आपके पास टेबल वैल्यूड पैरामीटर्स भी हैं जो आपको एक संपूर्ण डेटाटेबल को सिंगल टेबल टाइप पैरामीटर के रूप में पास करने और उसमें शामिल होने की अनुमति देते हैं।
XML और XPath एक और व्यवहार्य समाधान है:
SELECT ...
FROM Table
JOIN (
SELECT x.value(N'.',N'uniqueidentifier') as guid
FROM @values.nodes(N'/guids/guid') t(x)) as guids
ON Table.guid = guids.guid;