2012-05-08 15 views
5

मेरे पास 2 टेबल एक स्टेज टेबल है जिसका स्कीमा मुख्य से अधिक है, मैं डेटा तालिका से डेटा तालिका को रीफ्रंटियल कुंजी के रूप में मुख्य तालिका में अपडेट करना चाहता हूं। मैंने SQL में विलय का उपयोग करने का प्रयास किया है लेकिन इसके साथ समस्याएं आ रही हैं क्योंकि केवल कुछ मान अपडेट किए जाने हैं और मुख्य तालिका में हजारों नए मान डालने की आवश्यकता है। उदाहरण के लिए:एसक्यूएल सर्वर 2008 में दो तालिका मर्ज करें

MERGE TABLE tblMain AS main 
USING (SELECT ID,NAME,EMAIL_ID FROM tblStage) as stage 
ON main.ID=stage.ID 
WHEN MATCHED THEN UPDATE SET 
main.ID=stage.ID, 
main.NAME=stage.NAME, 
main.EMAIL_ID=stage.EMAIL_ID 
WHEN NOT MATCHED THEN INSERT VALUES 
(
----I am stucked here what to write as there are thousands of values:(
) 

उत्तर

2

आप की तरह insert भाग में मर्ज स्रोत का उल्लेख कर सकते,:

when not matched then insert 
    (id, name, email_id) 
    values (stage.id, stage.name, stage.email_id) 
+0

धन्यवाद एक बहुत, यह मेरे लिए काम किया :) – Pratik

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