Thursday 15 March 2012

sql - Insert rows in table while maintaining IDs -


  टैबला मास्टरकैंसइड मास्टरकैंसडससी 1 आवास 1 आवास 1 आवास 2 कार 2 कार 2 कार 3 दुकान टैबिल आईडी विवरण 1 होम 2 होम 3 विमान 4 कार INSERT को TableA ([MasterCategoryID] [MasterCategoryDesc] में) तब चुनें जब (विवरण) में नहीं (TableA से MasterCategoryDesc चुनें) तब (अधिकतम से चयन करें (मास्टरकैंसआईडी) +1 से TableA) अन्य (Table 1 जहां MasterCategoryDesc = Description) के रूप में समाप्त होता है, [MasterCategoryID] के रूप में विवरण, TableB से   

MasterCategoryDesc के रूप में वर्णन मैं तालिकाब से तालिका ए से SQL / संग्रहीत प्रक्रिया का उपयोग करके पंक्तियों को दर्ज करना चाहता हूं। उदाहरण के लिए जब पहली पंक्ति 'होम' डालने पर यह मास्टरटैग में मौजूद नहीं है DESC इसलिए मास्टरकैंसआईडी में '4' सम्मिलित होगा। दूसरी पंक्ति को '4' को मास्टरकैंसआईडी में फिर से रखना चाहिए। नीचे दिए गए कोड में यह पहली पंक्ति के बाद भी है, मास्टरकाषाणसी सभी पंक्तियों के लिए समान रहता है। मैं नई पंक्तियाँ डालने के दौरान आईडी का ट्रैक रखने के बारे में नहीं जानता।

पीएस Pls मुझे यह बताकर उत्तर नहीं देते कि मुझे पहचान () सूचकांक का उपयोग करना होगा मुझे टेबल संरचना को समान रखना होगा और इसे बदल नहीं सकते हैं। धन्यवाद

कार्य करने के लिए एक कर्सर का उपयोग करें टेबल ए की प्रत्येक पंक्ति के माध्यम से कर्सर छोरता है और मास्टरबैंक में पाया नहीं है, तो मास्टर कैबेट बढ़ता है। तालिका ए की अगली पंक्ति कर्सर में लोड होने से पहले ऐसा होता है ...

  घोषणा @ आईआईडी एएनसीएलआरए @ विवरण VARCHAR (मैक्स) का चयन करने के लिए my_cursor कंसार, तालिका से खुला विवरण my_cursor FETCH (I (SELECT TOP 1 MasterCategoryID से तालिका, जहां मास्टरकार्बेनेट डिक्स्केस = @ विवरण) END के रूप में MasterCategoryID, MasterCategoryDesc के रूप में वर्णन TableB WHERE आईडी = @ID FETCH में से पहले, @IDID @ आईडी, @Edit END    

No comments:

Post a Comment