2011-06-20 16 views
6

मैं डेटाबेस फ़ील्ड को एक SQL सर्वर तालिका से दूसरे में अद्यतन करने का प्रयास कर रहा हूं।एक SQL सर्वर डेटाबेस तालिका से दूसरे डेटाबेस में डेटाबेस तालिका अद्यतन करें?

हमारा उत्पादन SQL सर्वर [spdbprod.test.com\spprod] है, हमारा क्यूए सर्वर [spdbQA.test.com\spQA] है।

मुझे क्यूए तालिका से उत्पादन में तालिका अपडेट करने की आवश्यकता है। मैं इस SQL ​​कथन का उपयोग कर रहा हूं, लेकिन यह एक त्रुटि दे रहा है।

UPDATE 
    [spdbprod.test.com\spprod].[aspnetdb].[dbo].[Communities_Groups] as t1 
SET 
    t1.Show = (Select t2.show from [spdbQA.test.com\spQA].[aspnetdb].[dbo]. 
[Communities_Groups] as t2 where t1.GroupID = t2.GroupdID) 

मुझे यहां क्या याद आ रही है? त्रुटि: अद्यतन। ("कीवर्ड के पास गलत वाक्यविन्यास 'के रूप में'। ')

+0

आप कुछ इस तरह पोस्ट करते हैं और साथ * यह देता है एक त्रुटि * हमें चिढ़ाने है, यह सबसे अच्छा अभ्यास ** हमें बताने के लिए पहुंच सकते हैं * * सही त्रुटि क्या है! यह देखने में जबरदस्त मदद होगी कि प्रोबेलम क्या हो सकता है .... –

+0

@marc_s: मुझे लगता है कि एक स्पष्ट त्रुटि 'UPDATE' में तालिका उपनाम है। ("कीवर्ड के पास गलत वाक्यविन्यास 'के रूप में'। ') – a1ex07

+1

@ a1ex07: यह अनुमान है - एक अच्छा (आपको उस अच्छे अनुमान के लिए ऊपर उठाया गया), लेकिन अभी भी एक अनुमान .... और यह सामान्य सिद्धांत के बारे में है - नहीं बस कहें "एक त्रुटि है" - यदि आप कहते हैं - हमें बताएं कि यह त्रुटि क्या है! –

उत्तर

15

आप गलत तरीके से तालिका उपनाम का उपयोग कर रहे हैं। आप UPDATE table1 t SET field1=val नहीं कर सकते हैं, आपको UPDATE table1 SET field=val (या UPDATE table1 SET field=val FROM table1 t) लिखना होगा। तो अपनी क्वेरी को

UPDATE [spdbprod.test.com\spprod].[aspnetdb].[dbo].[Communities_Groups] 
SET Show = t2.show 
FROM [spdbprod.test.com\spprod].[aspnetdb].[dbo].[Communities_Groups] t1 
INNER JOIN [spdbQA.test.com\spQA].[aspnetdb].[dbo]. 
[Communities_Groups] t2 ON (t1.GroupID = t2.GroupID) 
+1

फॉर्म: "अद्यतन टी सेट फ़ील्ड = तालिका 1 टी से वैल" भी काम करता है। –

+0

स्पष्ट रूप से, '[डीबीओ] 'भाग जितना अधिक सोचा था उससे ज्यादा महत्वपूर्ण है। फिर भी, तुमने मेरे बट को बचा लिया! अत्यधिक सराहनीय। –

0

मेरा मानना ​​है कि आपके पास काम करने के लिए डेटाबेस लिंक (लिंक किए गए सर्वर) हैं।

मेरे पास काम पर दो SQL सर्वर तक पहुंच नहीं है इसलिए मैं इसका परीक्षण नहीं कर सकता, लेकिन मुझे यकीन है कि आपको लिंक की आवश्यकता है। क्या आपके पास एक लिंक सर्वर सेटअप है?

यहाँ एक यूआरएल में मदद मिल सकती है कि http://msdn.microsoft.com/en-us/library/ms188279.aspx

हार्वे Sather

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