मेरे पास एक डेटाबेस डीबी में एक टेबल एबीसी है। मैं एक ही DB में ABC_1, ABC_2, ABC_3 के नाम के साथ ABC की प्रतियां बनाना चाहता हूं। मैं प्रबंधन स्टूडियो (अधिमानतः) या एसक्यूएल प्रश्नों का उपयोग कैसे कर सकता हूं?
यह SQL Server 2008 R2 के लिए है।
मेरे पास एक डेटाबेस डीबी में एक टेबल एबीसी है। मैं एक ही DB में ABC_1, ABC_2, ABC_3 के नाम के साथ ABC की प्रतियां बनाना चाहता हूं। मैं प्रबंधन स्टूडियो (अधिमानतः) या एसक्यूएल प्रश्नों का उपयोग कैसे कर सकता हूं?
यह SQL Server 2008 R2 के लिए है।
जवाबों:
उपयोग करें SELECT ... INTO
:
SELECT *
INTO ABC_1
FROM ABC;
यह एक नई तालिका बनाएगा ABC_1
जिसमें समान स्तंभ संरचना होती है ABC
और जिसमें समान डेटा होता है। अड़चनें (जैसे कुंजियाँ, डिफ़ॉल्ट मान), हालांकि, नोट-कॉपी किए गए हैं।
आप प्रत्येक बार एक अलग तालिका नाम के साथ इस क्वेरी को कई बार चला सकते हैं।
यदि आपको डेटा की प्रतिलिपि बनाने की आवश्यकता नहीं है, केवल एक ही स्तंभ संरचना के साथ एक नई खाली तालिका बनाने के लिए, WHERE
एक काल्पनिकता के साथ एक खंड जोड़ें :
SELECT *
INTO ABC_1
FROM ABC
WHERE 1 <> 1;
SELECT TOP(0) *
हमेशा गलत-झूठी WHERE
बयान पद्धति की तुलना में क्लीनर का उपयोग करता हूं
SSMS में ऑब्जेक्ट एक्सप्लोरर में अपने डेटाबेस का विस्तार करें , टेबल्स पर जाएं , जिस तालिका में आप रुचि रखते हैं उस पर राइट क्लिक करें और स्क्रिप्ट टेबल अस , क्रिएट टू , न्यू क्वेरी एडिटर विंडो चुनें । एक मिल रहा है और जगह ( CTRL + एच (डाल यानी तालिका नाम बदलने के लिए) ABC
में लगाएँ कि क्षेत्र और ABC_1
में साथ बदलें उसके बाद ठीक )।
एसक्यूएल द्वारा यह कैसे करना है, यह दिखाने वाले अन्य उत्तर भी अच्छी तरह से काम करते हैं, लेकिन इस पद्धति के साथ अंतर यह है कि आप किसी भी सूचकांक, बाधाओं और ट्रिगर्स प्राप्त करेंगे।
यदि आप डेटा को शामिल करना चाहते हैं, तो इस तालिका को बनाने के बाद एबीसी से सभी डेटा की प्रतिलिपि बनाने के लिए नीचे की स्क्रिप्ट चलाएँ (पहचान क्षेत्र होने पर समान आईडी मान रखते हुए):
set identity_insert ABC_1 on
insert into ABC_1 (column1, column2) select column1, column2 from ABC
set identity_insert ABC_1 off
IDENTITY_INSERT
करने के लिए ON को सेट करना होगा , आपने अपने उदाहरण में ऑर्डर मिलाया। इसके अलावा, आपको
यदि आप इसकी सभी बाधाओं के साथ तालिका को डुप्लिकेट करना चाहते हैं और नीचे दिए चरणों के अनुसार कुंजी इस प्रकार है:
फिर डेटा को कॉपी करने के लिए इसे स्क्रिप्ट के नीचे चलाएं:
SET IDENTITY_INSERT DuplicateTable ON
INSERT Into DuplicateTable ([Column1], [Column2], [Column3], [Column4],... )
SELECT [Column1], [Column2], [Column3], [Column4],... FROM MainTable
SET IDENTITY_INSERT DuplicateTable OFF
यह एक और विकल्प है:
select top 0 * into <new_table> from <original_table>