2010-07-13 16 views
19

में नए नाम के साथ डुप्लिकेट तालिका कैसे बनाएं, मैं SQL सर्वर 2008 में किसी नए नाम के साथ डुप्लिकेट की गई संरचना के साथ डुप्लिकेट तालिका कैसे बना सकता हूं?SQL सर्वर 2008

मेरे पास 45 फ़ील्ड के साथ टेबल है इसलिए मैं एक ही संरचना के साथ नया बनाना चाहता हूं लेकिन नया नाम।

उत्तर

38

SQL प्रबंधन स्टूडियो में तालिका पर राइट क्लिक करें।

स्क्रिप्ट का चयन करें ... नई क्वेरी विंडो बनाएं।

यह एक नई क्वेरी विंडो में तालिका को फिर से बनाने के लिए एक स्क्रिप्ट उत्पन्न करेगा।

स्क्रिप्ट में तालिका का नाम बदलें जो भी आप नई तालिका को नामित करना चाहते हैं।

स्क्रिप्ट निष्पादित करें।

+2

2012 में भी हास्यास्पद! धन्यवाद Avalanchis! – Bojangles

22
SELECT * 
INTO target 
FROM source 
WHERE 1 = 2 
+6

यह केवल कुछ संरचना को पकड़ लेगा। समान कॉलम नाम, डेटा प्रकार, और शून्य सेटिंग्स। लेकिन बाकी सब कुछ पीछे छोड़ दिया जाएगा। पीछे छोड़ने वाले मेरे मुख्य सामान के शीर्ष में पीके, यूके, एफके और चेक बाधाएं, पहचान गुण और गणना कॉलम शामिल होंगे। यह इस बात पर निर्भर करता है कि संरचना ओपी कितनी चाहता है कि यह ओपी की जरूरतों को पूरा करेगी या नहीं। –

+0

जहां खंड वैकल्पिक है। – Dhinakar

+0

क्यों '1 = 2'? यह हमेशा झूठा नहीं होगा? –

-2

मेरा एसक्यूएल सर्वर प्रबंधन स्टूडियो मुझसे पूछता रहता है कि मैं इसे कैसे बेहतर बना सकता हूं, मुझे एक विचार है! एक टेबल को हाइलाइट करने की क्षमता और फिर, ctrl सी, ctrl वी! बहुत अच्छा होगा और एक ही समय में इस सवाल का जवाब होगा!

+0

क्या आप एक नई सुविधा का आविष्कार करके जवाब दे रहे हैं और कह रहे हैं कि इससे समस्या हल हो जाएगी? – Yunnosch

1
एक नई तालिका मौजूदा तालिका से एक मेज से डालने डेटा के लिए Old_Table

से

चुनें * जांच New_table बनाने के लिए

एक और तालिका

Table_Name2 में डालें शीर्ष चयन 1 * Table_Name1 से

+0

स्टैक ओवरफ्लो में आपका स्वागत है और सहायता करने के लिए धन्यवाद। कृपया अपने उत्तरों के मुख्य बिंदु की व्याख्या करें, कोड केवल इतना उपयोगी नहीं है। विशेष रूप से, एक अलग उत्तर है जो आपके लगभग समान है। यह सिर्फ सामग्री की प्रतिलिपि से बचाता है। कॉपी प्रतिलिपि नहीं कर रहे ओपी वांछित व्यवहार का हिस्सा लगता है। क्या आप अपने कारण बता सकते हैं? – Yunnosch

2

यहां, मैं आपको 2 अलग-अलग कार्यान्वयन दिखाऊंगा:

पहला :

तुम सिर्फ सिर्फ आदेश चला डुप्लिकेट तालिका तो बनाने की आवश्यकता है:

SELECT top 0 * INTO [dbo].[DuplicateTable] 
FROM [dbo].[MainTable] 
बेशक

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

दूसरा (अनुशंसित):

लेकिन आप अपने सभी बाधाओं के साथ तालिका नकल करना चाहते हैं & कुंजी इस प्रकार यह नीचे दिए गए चरणों:

  1. ओपन एसक्यूएल प्रबंधन स्टूडियो में डेटाबेस।
  2. उस तालिका पर राइट-क्लिक करें जिसे आप डुप्लिकेट करना चाहते हैं।
  3. स्क्रिप्ट तालिका का चयन करें -> बनाएं -> नई क्वेरी संपादक विंडो। यह एक नई क्वेरी विंडो में तालिका को फिर से बनाने के लिए एक स्क्रिप्ट उत्पन्न करेगा।
  4. स्क्रिप्ट में तालिका नाम और सापेक्ष कुंजी & बाधाओं को बदलें।
  5. स्क्रिप्ट निष्पादित करें।
0
SELECT * INTO newtable FROM oldtable where 1=2 


    where 1=2, this statement is use when only Copy complete structure of a 
    table in sql without Copying data of table 

SELECT * INTO newtable FROM oldtable 
create table with data you can use this statement