2010-01-25 8 views
7

मैं एसक्यूएल सर्वर में एक स्तंभ का नाम बदलने के लिए कुछ कोड लिखने की ज़रूरत 2008
जब पटकथा कि प्रबंधन स्टूडियो में मैं एक डबल नाम मिल गया:अजीब व्यवहार जब एसक्यूएल सर्वर में एक स्तंभ का नाम बदलने 2008

NAME1 ==> TEMPNAME ==> NAME2

BEGIN TRANSACTION 
GO 
EXECUTE sp_rename N'dbo.Table_1.columFirstName', N'Tmp_columSecondName_2', 'COLUMN' 
GO 
EXECUTE sp_rename N'dbo.Table_1.Tmp_columSecondName_2', N'columSecondName', 'COLUMN' 
GO 
ALTER TABLE dbo.Table_1 SET (LOCK_ESCALATION = TABLE) 
GO 
COMMIT 

लेकिन जब मैं इसे एक बार में करता हूं, तो यह ठीक काम करता है।

कॉलम का नाम बदलकर अस्थायी नाम क्यों बदला जाता है? क्या ऐसा करने के लिए एक नामकरण एल्गोरिदम कोडिंग करते समय यह समझ में आता है?

धन्यवाद!

+1

महान प्रश्न - मैंने हमेशा इसके बारे में भी सोचा है! –

+0

मुझे एसएसएमएस 2008 मिला है - आप स्क्रिप्ट कैसे बना रहे हैं? मुझे विकल्प नहीं मिल रहा है .. – Blorgbeard

+1

किसी तालिका को डिज़ाइन करने के बाद, प्राथमिक कुंजी बटन के बगल में एक बटन सक्षम हो जाता है। डिस्क के साथ एक स्क्रिप्ट आइकन। जब आप सहेजते हैं तो क्या होगा, इसकी स्क्रिप्ट प्राप्त करने के लिए उस पर क्लिक करें। (सहेजने से पहले इसे क्लिक करें) – Peter

उत्तर

6

आप कॉलम नाम दो कॉलम के बीच स्वैप कर सकते हैं। प्रबंधन स्टूडियो का समर्थन करता है कि सभी कॉलमों को अस्थायी नामों में नामित करके, और फिर उन्हें अंतिम नामों में नामित किया जाए।

ब्लॉगरबीर्ड: डिज़ाइन विंडो में राइट-क्लिक मेनू में, एक जेनरेट स्क्रिप्ट स्क्रिप्ट विकल्प होता है।

+2

यह उत्तर हो सकता है, लेकिन मुझे स्पष्ट नहीं है। – Peter

+2

यह नहीं है? ए और बी स्विच करें, आपको ए टू टीएमपी, बी टू ए, टीएमपी बी की आवश्यकता है। ए, बी, सी से बी, सी, ए को बदलने के लिए आपको ए टू टीएमपी, सी से ए, बी से सी, बी से टीएमपी की आवश्यकता होगी । ए, बी, सी से सी, ए, बी को बदलने के लिए आपको ए टू टीएमपी, बी से ए, सी से बी, टीएमपी को सी की आवश्यकता होती है। यह जटिल हो जाता है, तो ऐसा क्यों न करें, ऐसा क्यों करें। –

+0

ठीक है, अब मैं इसे देखता हूं .. मैंने पहले वाक्यांश नहीं पकड़ा था। टीएक्स। – Peter

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