SQL सर्वर 2008 में, स्रोत तालिका से डेटा को एक dest तालिका में सम्मिलित करना संभव है और एक ही समय में dest तालिका से @@ पहचान के साथ स्रोत तालिका अद्यतन करना संभव है?स्रोत और अद्यतन स्रोत
उदाहरण
टेबल स्रोत:
Id - UniqueId
Name - varchar(10)
RealId [null] - int
टेबल डेस्ट
Id - [id] INT identity
Name - varchar(10)
मैं डेस्ट में स्रोत से पंक्तियों स्थानांतरित करते हैं और से @@ पहचान मूल्य के लिए RealId
अपडेट करना चाहते हैं डेस्ट टेबल
मैं किसी भी तरह से स्रोत को संशोधित कर सकता हूं, गंतव्य तालिका को बदला नहीं जा सकता है।
यहां मेरे सर्वोत्तम विकल्प क्या हैं?
यह भी ध्यान दें, "नाम" कॉलम में डुप्लीकेट हो सकते हैं, इसलिए मैं वास्तव में उस पर शामिल नहीं हो सकता।
(वास्तविक तालिकाओं और अधिक जटिल हैं, लेकिन यह देने के लिए और जो मैं चाहता के विचार करना चाहिए)
पहली टिप्पणी: '@@ पहचान 'के बजाय 'SCOPE_IDENTITY()' का उपयोग करें - यह वास्तव में आप जो खोज रहे हैं उसके लिए सुरक्षित और अधिक सत्य है। दूसरा: यदि आप भाग में डालना चाहते हैं और फिर स्रोत अपडेट करना चाहते हैं, तो आपको ** कुछ ** फ़ील्ड होना चाहिए जो दोनों में समान है - यदि 'name' ऐसा नहीं कर सकता है, तो आपको कुछ और चाहिए, उदा। 'DestI तालिका' या कुछ पर 'SourceId'। –