मैं टी-एसक्यूएल में एक स्कीमा में तालिका कैसे स्थानांतरित करूं


273

मैं टी-एसक्यूएल का उपयोग करके एक विशिष्ट स्कीमा में एक तालिका को स्थानांतरित करना चाहता हूं? मैं SQL Server 2008 का उपयोग कर रहा हूं।


1
यदि आपको एक नया स्कीमा में कई तालिकाओं को स्थानांतरित करने की आवश्यकता है तो
— टोनी

जवाबों:


464
ALTER SCHEMA TargetSchema 
    TRANSFER SourceSchema.TableName;

यदि आप सभी तालिकाओं को एक नए स्कीमा में ले जाना चाहते हैं , तो आप अनिर्दिष्ट (और किसी बिंदु पर पदावनत होने के लिए, लेकिन असंपीड़ित) sp_MSforeachtableप्रक्रिया का उपयोग कर सकते हैं :

exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"

संदर्भ।: ALTER SCHEMA

SQL 2008: मैं db स्कीमा को dbo में कैसे बदलूं


6
2018 और फिर भी मेरी जान बच गई। बहुत बहुत धन्यवाद मिच।
— ClownCoder

19

संक्षिप्त जवाब:

ALTER SCHEMA new_schema TRANSFER old_schema.table_name

मैं पुष्टि कर सकता हूं कि तालिका में डेटा बरकरार है, जो संभवतः काफी महत्वपूर्ण है :)

MSDN डॉक्स के अनुसार लंबा उत्तर ,

ALTER SCHEMA schema_name 
   TRANSFER [ Object | Type | XML Schema Collection ] securable_name [;]

यदि यह एक तालिका (या एक प्रकार या XML स्कीमा संग्रह के अलावा कुछ भी) है, तो आप डिफ़ॉल्ट के बाद से ऑब्जेक्ट शब्द को छोड़ सकते हैं।


1
मेरे सही उत्तर के लिए गिरावट क्यों? कृपया स्वीकार किए गए उत्तर के खिलाफ मेरी जांच करें, जो समान है, और पहले से ही मेरा (सहित) 257 upvotes है।
— इंजीनियर

2
डेटा की पुष्टि करने के लिए एक उत्थान बरकरार है, जिसने सिर्फ मेरा रक्तचाप बचाया ... :)

6
@DaveBoltnman: आपने स्वीकृत उत्तर के 6 साल बाद और अपनी टिप्पणी "जो एक ही है" के ऊपर दर्ज की है।
— मिच गेहूं

4
तालिका में डेटा सिर्फ इसलिए बरकरार नहीं रहेगा क्योंकि तालिका एक अलग स्कीमा कंटेनर में स्थानांतरित हो गई है?
— मिच गेहूं

2
अच्छा नाम परिवर्तन @DaveBoltman। पुराने प्रश्नों का उत्तर देना बहुत अच्छा है, जब वे मौजूदा उत्तरों में कुछ जोड़ते हैं।
— मिच गेहूं
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.