2012-03-27 18 views
7

विकिपीडिया के अनुसार इस वाक्य सही लगती है ...एसक्यूएल सर्वर क्वेरी त्रुटि

INSERT INTO dbo.metadata_type ("name", "publishable") 
VALUES 
("Content Owner", 0), 
("Content Coordinator", 0), 
("Writer", 0), 
("Content Type", 0), 
("State", 1), 
("Business Segment", 0), 
("Audience", 0), 
("Product Life Cycle Stage", 0), 
("Category", 0), 
("Template", 0) 

मैं त्रुटियों हो रही है। मैंने कॉलम नामों को लपेटने की कोशिश की है, लेकिन यह काम नहीं किया है ...

त्रुटि कोड 207, SQL स्थिति 42S22: अवैध कॉलम नाम 'सामग्री स्वामी'।
त्रुटि कोड 207, SQL स्थिति 42S22: अवैध कॉलम नाम 'सामग्री समन्वयक'।
त्रुटि कोड 207, एसक्यूएल राज्य 42 एस 22: अवैध कॉलम नाम 'लेखक'।
त्रुटि कोड 207, SQL स्थिति 42S22: अवैध कॉलम नाम 'सामग्री प्रकार'।
त्रुटि कोड 207, SQL स्थिति 42S22: अवैध कॉलम नाम 'राज्य'।

+2

एकल उद्धरण का उपयोग करें पर तो है! –

+4

एकल उद्धरणों का उपयोग करने के अलावा - एकल 'INSERT' कथन में एकाधिक tuples निर्दिष्ट करने का यह वाक्यविन्यास SQL ​​सर्वर ** 2008 ** और केवल नए में मान्य है - यह पिछले संस्करणों में काम नहीं करता है। –

उत्तर

12

SQL सर्वर में, स्ट्रिंग मान ' द्वारा " तक सीमित हैं।

इसके अलावा, कॉलम नामों को या तो स्क्वायर ब्रैकेट में संलग्न किया जाना चाहिए, या छोड़ दिया जाना चाहिए (यदि उनमें रिक्त स्थान नहीं हैं)।

आपकी क्वेरी, इसलिए, इस तरह दिखना चाहिए:

INSERT INTO dbo.metadata_type (name, publishable) VALUES 
    ('Content Owner', 0), 
    ('Content Coordinator', 0), 
    ('Writer', 0), 
    ('Content Type', 0), 
    ('State', 1), 
    ('Business Segment', 0), 
    ('Audience', 0), 
    ('Product Life Cycle Stage', 0), 
    ('Category', 0), 
    ('Template', 0) 
3

आप निर्दिष्ट करने के लिए बिल्कुल भी एकल के बजाय उद्धरण अपने मूल्यों के लिए दोहरे उद्धरण चिह्नों और कोई उद्धरण का उपयोग करना चाहिए जो स्तंभ सम्मिलित करने के लिए:

INSERT INTO dbo.metadata_type (name, publishable) VALUES 
('Content Owner', 0), 
('Content Coordinator', 0), 
('Writer', 0), 
('Content Type', 0), 
('State', 1), 
('Business Segment', 0), 
('Audience', 0), 
('Product Life Cycle Stage', 0), 
('Category', 0), 
('Template', 0) 
3

एसक्यूएल का 'त्रुटि 207' तालिका के गलत कॉलम नाम से संबंधित है। मुझे लगता है कि आप कॉलम नाम के बारे में डेटा पुनर्प्राप्त करने का प्रयास कर रहे हैं जो निर्दिष्ट तालिका में मौजूद नहीं है। मैं आपको यह सुनिश्चित करने के लिए सुझाव देता हूं कि आप क्वेरी में सही कॉलम नाम का उपयोग कर रहे हैं। यह भी जांचें कि टेबल नाम सही है या नहीं। इसे आज़माएं और मुझे बताएं कि क्या आपको अभी भी एक ही त्रुटि मिल रही है या नहीं।

अगर आप का उपयोग कर "एक varchar करने के लिए मूल्यों को सम्मिलित करने के लिए कोशिश कर रहे हैं" सरल '' का उपयोग करने के

तरह का प्रयास करें:

INSERT INTO dbo.metadata_type (name, publishable) VALUES 
('Content Owner', 0), 
('Content Coordinator', 0), 
('Writer', 0), 
('Content Type', 0), 
('State', 1), 
('Business Segment', 0), 
('Audience', 0), 
('Product Life Cycle Stage', 0), 
('Category', 0), 
('Template', 0) 
+0

आपकी क्वेरी में त्रुटियां हैं: कॉलम नाम उद्धरणों से घिरे नहीं होना चाहिए। –

+0

@ फ्रैंकिसपी अभी आज़माएं। –

+2

होना चाहिए: INSERT INTO dbo.metadata_type (नाम, प्रकाशित करने योग्य) ... –

0

आप एक डालने बयान के साथ एकाधिक पंक्तियों को सम्मिलित करने के लिए देख रहे हैं, यहाँ एक और तरीका यह

करने के लिए
INSERT INTO dbo.metadata_type (name, publishable) 
SELECT 'Content Owner', 0 
UNION ALL 
SELECT 'Content Coordinator', 0 
UNION ALL 

और डालने के लिए

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