मैं डेटाबेस अद्यतन करने के लिए xml फ़ाइलों को पढ़ने के लिए कोडिंग कर रहा हूं। मुझे लगभग 500 एक्सएमएल फाइलें मिलती हैं और मैं उन्हें जितनी जल्दी कर सकता हूं उन्हें संसाधित करना चाहता हूं।क्या एक ही ऑपरेशन में कई संग्रहीत प्रक्रियाओं को निष्पादित करना संभव है?
सभी डेटाबेस संचालन संग्रहीत प्रक्रियाओं का उपयोग करके किया जाता है।
प्रत्येक XML फ़ाइल के लिए लगभग 35 अलग-अलग संग्रहित प्रक्रियाएं हैं।
शुरू में मैं इस
var cmd = new SqlCommand("EXEC UpdateTeamStats("+teamId+","+points+")");
cmd.CommandType = CommandType.Text;
की तरह कोड लिखा था लेकिन कुछ सर्वोत्तम प्रथाओं के माध्यम से जाने के बाद मैं इसे
var cmd = new SqlCommand("UpdateTeamStats");
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("teamId", 21);
cmd.Parameters.Add("points", 2);
संग्रहित प्रक्रियाओं की उच्च संख्या की वजह से
करने के लिए बदल कार्यक्रम से बुलाया जा रहा है मुझे एहसास हुआ कि अनुकूलित करने के लिए मुझे कम संख्या में कॉल करना है।
इसलिए मैं सभी 35 संग्रहीत प्रक्रियाओं को एक साथ इकट्ठा करना चाहता हूं और उन्हें एक ही बार में निष्पादित करना चाहता हूं।
संग्रहित प्रक्रियाएं अलग-अलग मानकों के साथ अलग हैं और मुझे ऊपर दिए गए पैरामीटर परिवर्तनों के बाद उन्हें एकत्रित करने और निष्पादित करने का कोई तरीका नहीं पता है।
मैं एक विशाल संग्रहित प्रक्रिया को कॉल करने और अन्य 35 को कॉल करने वाली संग्रहीत प्रक्रिया के अंदर सोच रहा था, लेकिन मैं एसक्यूएल में बहुत अच्छा नहीं हूं और इससे अनावश्यक जटिलता होगी।
क्या यह पूरी तरह से सी # में ऐसा करना संभव है?
या वहां storedprocedures अप कतार और उन्हें तेजी से चलाने के
तुम क्या करते होने की उम्मीद है जब आपके निष्पादन के बीच में, एक त्रुटि हुई है? क्या सभी निष्पादित प्रक्रिया रोलबैक होगी? या बस शेष प्रक्रियाओं को संसाधित करना जारी रखें? –
ध्यान दें कि आपका शीर्षक "समानांतर में" कहता है लेकिन आपका प्रश्न पढ़ रहा है, ऐसा लगता है कि आप बस "एक डेटाबेस कमांड के रूप में" –
@ जॉर्ज डकेट - यह मेरा संपादन था। मूल "एक बार में" था। – Oded