मैं एक अलग स्कीमा के तहत एक SQL तालिका कैसे बनाऊं?


137

यह SQL Server 2008, ssms से है

जब मैं एक तालिका बनाता हूं, तो यह dbo के तहत बनाता है।

मैं इसे एक अलग स्कीमा के तहत बनाना चाहूंगा, लेकिन जब मैं 'नई तालिका' संवाद का उपयोग करता हूं, तो मुझे वह फ़ील्ड कभी नहीं मिल सकती है जहां इसे निर्दिष्ट करना है।

जवाबों:


242
  1. तालिकाओं नोड पर राइट-क्लिक करें और चुनें New Table...
  2. तालिका डिज़ाइनर के साथ, गुण विंडो खोलें (देखें -> गुण विंडो)।
  3. आप स्कीमा को बदल सकते हैं कि गुण विंडो में स्कीमा चुनकर तालिका बनाई जाएगी।

आप उस प्रोग्राम को कैसे करेंगे। यानी टेबल बनाएं SUSER_SNAME ()। [MyTableName] लेकिन वह वास्तव में काम करता है। इसके अलावा, यह है कि विभिन्न अनुप्रयोगों को एक दूसरे से बात करने की अनुमति देने के लिए अस्थायी वैश्विक चर के भंडारण का एक उचित तरीका है?
एडमांतीश

ठीक है धन्यवाद, लेकिन मेरा मतलब था कि स्कीमा नाम एक चर के रूप में जिसके अनुसार उपयोगकर्ता इसे चला रहा है। यह थोड़ा गतिशील एसक्यूएल के साथ किया, लेकिन फिर इन वर्जन को वैसे भी उपयोगकर्ता की मशीन पर एक टेबल में रखने का एक बेहतर तरीका मिला।
एडमांतीश

1
@adrianbanks आप उन्हें सही दिशा में इंगित करने के लिए बहुत खुश हैं सर!
शॉन एफ

धन्यवाद @adrianbanks कुछ समय के लिए ऐसा नहीं किया था और एक स्क्रिप्ट बनाने के कगार पर था!
कार्ल गजर्टसेन

50

दौड़ने की कोशिश करो CREATE TABLE [schemaname].[tableName]; GO;

यह मानता है कि आपके डेटाबेस में स्कीमानेम मौजूद है। इस्तेमाल करेंCREATE SCHEMA [schemaname] यदि आपको स्कीमा बनाने की आवश्यकता है।

EDIT: SQL सर्वर 11.03 को नोट करने के लिए अद्यतन किया जाता है, जिसके लिए यह आवश्यक है कि यह बैच में एकमात्र कथन हो।


1
हाँ, मुझे लगता है कि मैं ऐसा कर सकता था, मैं सोच रहा था कि क्या संवाद संस्करण के पास ऐसा करने के लिए कहीं विकल्प है।
मैट

मैं एक ही कोशिश की, इसके काम नहीं कर रहा हूँ, मैं कुछ गलत कर रहा हूँ? या यह सिर्फ MSSQL 2012 में काम करते हैं?
पंकज पारकर

7
@ पंकजपारकर: यह काम नहीं करेगा यदि स्कीमा मौजूद नहीं है। create schema [schema_Name]उपरोक्त क्वेरी द्वारा पहले स्कीमा का उपयोग करें ।
संग्राम नंदखिले

14

                           SQL Server 2008 में डेटाबेस स्कीमा बनाएं
। 1. सुरक्षा> स्कीमों पर नेविगेट
करें। स्कीमाओं पर राइट क्लिक करें और नई स्कीमा चुनें। नए स्कीमा के
लिए सामान्य टैब में विवरण पूरा करें। जैसे, स्कीमा का नाम "MySchema" है और स्कीमा का मालिक "एडमिन" है।
4. आवश्यकतानुसार उपयोगकर्ताओं को स्कीमा में जोड़ें और उनकी अनुमतियाँ सेट करें:
5. किसी भी विस्तारित गुण (विस्तारित गुण टैब के माध्यम से) जोड़ें
6. ठीक पर क्लिक करें।
                          नई स्कीमा "MySchema" में एक तालिका जोड़ें
। ऑब्जेक्ट एक्सप्लोरर में, तालिका के नाम पर राइट क्लिक करें और "डिज़ाइन" चुनें:
2. SQL सर्वर प्रबंधन स्टूडियो में तालिका के लिए डेटाबेस स्कीमा को बदलना
3. डिज़ाइन दृश्य से, F4 दबाएं गुण विंडो प्रदर्शित करें।
4. गुण विंडो से, स्कीमा को वांछित स्कीमा में बदलें:
5. टैब को राइट क्लिक करके डिजाइन व्यू को बंद करें और "क्लोज" को चुनें:
6. क्लोजिंग डिजाइन व्यू
7. क्लिक करें "ओके" जब सेव करने के लिए कहा जाए तो
8. आपका टेबल अब "MySchema" स्कीमा में ट्रांसफर हो गया है।

ऑब्जेक्ट ब्राउज़र दृश्य ताज़ा परिवर्तन की पुष्टि करने के लिए
हो गया


पिछली डीबी स्कीमा बनाने की प्रक्रिया के लिए बहुत उपयोगी है। धन्यवाद।
mggSoft


5

अगर स्कीमा डीबी में मौजूद नहीं है तो शॉन एफ का जवाब काम नहीं करेगा। अगर किसी को स्कीमा बनाने का तरीका दिख रहा है तो स्कीमा बनाने के लिए बस स्क्रिप्ट का पालन करें।

create schema [schema_name]
CREATE TABLE [schema_name].[table_name](
 ...
) ON [PRIMARY]

नई तालिका जोड़ते समय, टेबल डिज़ाइन मोड पर जाएं और F4संपत्ति विंडो खोलने के लिए दबाएं और ड्रॉपडाउन से स्कीमा का चयन करें। डिफ़ॉल्ट है dbo

आप संपत्ति विंडो का उपयोग करके वर्तमान तालिका के स्कीमा को भी बदल सकते हैं।

देखें:

यहां छवि विवरण दर्ज करें


SQL सर्वर 11.0.3+ में यह एक त्रुटि देगा, क्रिएट स्कीमा बैच में केवल ऑपरेशन होना चाहिए। CREATE SCHEMA setup; GO
हाज़िकेलवादी

3

जब मैं SSMS 2008 का उपयोग कर एक तालिका बनाता हूं, तो मुझे 3 पैन दिखाई देते हैं:

  • कॉलम डिजाइनर
  • स्तंभ के गुण
  • तालिका गुण

तालिका गुण फलक में, एक फ़ील्ड है: Schemaजो आपको स्कीमा का चयन करने की अनुमति देता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.