2010-07-01 7 views
5

मैं here पढ़ मापदंडों एक संग्रहीत प्रक्रिया को पारित किया जा सकता है कि की अधिकतम संख्या है कि 2100एसक्यूएल मैक्स पैरामीटर

मैं सिर्फ उत्सुक प्रणाली किस तरह एक सपा की आवश्यकता होगी 2100 मानकों के साथ प्रदान किया जाने वाला हूँ, और क्या कोई इसे कई एसपी में विभाजित नहीं कर सका?

मैंने सोचा कि शायद एक एसपी जो एकाधिक एसपी कहलाता है उसे बहुत सारे पैराम पास होने की आवश्यकता होगी, मैं बस उस घृणास्पद EXEC स्टेटमेंट को लिखने के लिए तैयार नहीं हो सकता।

+0

यदि आपने कभी भी माइक्रोसॉफ्ट सीआरएम के साथ काम किया है, तो आपको एक सिस्टम के साथ अनुभव होगा जिसमें संग्रहित प्रक्रिया के लिए इस पैरामीटर के साथ संग्रहित प्रक्रियाओं की आवश्यकता होगी। –

+0

मैंने नहीं किया है। मैं केवल 2 साल तक पेशेवर रूप से काम कर रहा हूं। तो मैं जिस भाषा का उपयोग करता हूं उसके बारे में अधिक जानने में मैंने इस दिलचस्प तथ्य पर ठोकर खाई। और सिर्फ उत्सुक सवाल था। – Jim

उत्तर

5

है आप 2100 मानकों आप सबसे अधिक संभावना का उपयोग कर एक संग्रहीत प्रक्रिया है कुछ प्रकार की डिजाइन समस्या।

एक पैरामीटर में मानों की एक CSV सूची में पास करना (और पंक्तियों में उन्हें बदलने के लिए तालिका मान विभाजित फ़ंक्शन का उपयोग करना), या तालिका मान पैरामीटर का उपयोग करना उन सभी इनपुट पैरामीटर को संभालने से कहीं अधिक आसान होगा।

+0

+1: यह उन लोगों में से एक है "यदि आपको पूछना है .." प्रश्न –

+0

जब मैं इस तथ्य को पढ़ता हूं तो यह मेरा पहला विचार था। – Jim

4

मैं एक स्थिति थी जहां मैं काफी कुछ इस तरह चलाने के लिए किया था निम्नलिखित:

SELECT 
    ... 
WHERE 
    ID IN (?,?,?,?...) 

मानकों की सूची सभी संस्थाओं उपयोगकर्ता प्रणाली में उपयोग करने के लिए (यह गतिशील रूप से कुछ अंतर्निहित द्वारा उत्पन्न की गई अनुमति थी विशेष रुप से प्रदर्शित ढांचा)। यह पता चला है कि एसजीबीडी की इस तरह से पारित होने वाले पैरामीटर की संख्या पर एक सीमा थी, और यह 2100 से नीचे था (आईआईआरसी, यह ओरेकल था और अधिकतम सूची में 999 पैरामीटर थे)।

यह संग्रहीत प्रक्रिया होने के लिए पैरामीटर की एक लंबी सूची का एक अच्छा उदाहरण होगा (हमारे पास 999 से अधिक और पास करने के लिए 2100 से कम पैरामीटर थे)। यदि 999 बाधा एसक्यूएल सर्वर के लिए लागू

पता नहीं है, लेकिन यह निश्चित रूप से एक स्थिति है जहाँ लंबी सूची उपयोगी होगा ...

+1

मैं एक बार से अधिक अभिव्यक्ति प्रति 1000 पैरामीटर के ओरेकल में उस सीमा में आया हूं। मजेदार बात यह है कि आप एक से अधिक शर्तों का उपयोग करके इसके आसपास काम कर सकते हैं: 'आईडी इन (पहले 1000 आईडी) या आईडी इन (अगले 1000 आईडी)'। –

+0

हां। यह बहुत समय पहले था लेकिन आईआईआरसी, हमने उस समय किया था। –

+0

पैरामीटर की सीएसवी सूची में पास करना आसान होगा और उन्हें संग्रहीत प्रक्रिया के भीतर पंक्तियों में विभाजित करना होगा जहां आप उनसे जुड़ सकते हैं या अन्यथा उन्हें तालिका के रूप में उपयोग कर सकते हैं। –

9

प्रक्रिया पैरामीटर की सीमा एक्सएमएल डेटा प्रकार और तालिका मूल्यवान पैरामीटर दोनों की भविष्यवाणी करती है, इसलिए उन दिनों में वापस कोई विकल्प नहीं था। किसी प्रक्रिया पर 2100 पैरामीटर होने का मतलब यह नहीं है कि एक इंसान ने लिखा है और न ही कोई मानव इसे बुलाएगा। जेनरेट कोड में रखरखाव और रिफैक्टरिंग उत्पन्न होने वाले उपकरण में नहीं, परिणाम कोड में नहीं, क्योंकि भाषा के लिए ऐसी सीमाओं को धक्का देने के लिए, उपकरण और ढांचे द्वारा बनाए गए कोड की तरह उत्पन्न कोड में यह काफी आम है।

संबंधित मुद्दे