हमें हाल ही में कई ग्राहकों से हमारी सेल सर्वर टेबल में से एक में एक साथ आवेषण के साथ एक समस्या का सामना करना पड़ रहा है। मुझे उम्मीद है कि आप लोग हमारी मदद कर सकते हैं।एसक्यूएल सर्वर - एकाधिक ग्राहकों से तालिका में एक साथ सम्मिलित करें - चेक सीमा और ब्लॉक
हम लेनदेन करने के लिए संग्रहीत प्रक्रिया का उपयोग कर रहे हैं। उस संग्रहित प्रक्रिया में, प्रत्येक लेनदेन के लिए, हम अब तक कुल बिक्री की गणना करते हैं। यदि कुल बिक्री सेट सीमा से कम है, तो लेनदेन की अनुमति होगी। अन्यथा, लेनदेन से इनकार कर दिया जाएगा।
यह कई बार ठीक काम करता है। लेकिन, कभी-कभी जब कई ग्राहक एक ही समय में लेनदेन करने की कोशिश कर रहे होते हैं, तो दोनों लेनदेन के रूप में सीमा जांच विफल हो रही है।
क्या आप लोग सुझाव दे सकते हैं कि हम हर समय सीमा को प्रभावी रूप से कैसे लागू कर सकते हैं? क्या ऐसा करने का कोई बेहतर तरीका है?
धन्यवाद!
कृपया अपनी तालिका संरचना और उदाहरण डेटा प्रदान करें। क्या सभी लेनदेन के लिए निर्धारित सीमा स्थिर है? –
एक झुकाव के रूप में, यदि आप संग्रहित प्रक्रिया को बहुत तेज़ी से चलाते हैं तो समस्या हल हो सकती है। एक 100 एमएमएस संग्रहीत प्रक्रिया टकराव के साथ बहुत दुर्लभ होगा। यदि आप क्वेरी और टेबल परिभाषा पोस्ट करते हैं, तो हम एक इंडेक्स का सुझाव दे सकते हैं जो कुल गणना को बहुत तेज बनाता है। – Andomar
कृपया तालिका संरचना पाएं। प्रत्येक betnumber के लिए इस राशि (हिस्सेदारी) में 1000 से अधिक नहीं होना चाहिए। यह 1000 सीमा किसी अन्य तालिका में संग्रहीत है। \t [SlipID] [bigint] पहचान (1,1), शून्य नहीं \t [TillID] [int] नहीं NULL, \t [बारकोड] [varchar] (30) नहीं NULL, \t [GamingDate] [तारीख] नहीं शून्य, \t [DrawID] [int] नहीं NULL, \t [BetNumber] [tinyint] नहीं NULL, \t [CurrencyID] [int] नहीं NULL, \t [स्टेक] [दशमलव] (9, 2) नहीं NULL , \t \t [स्लिपटाइम] [डेटाटाइम] न्यूल, – sammy