2012-12-27 46 views
6

संभव डुप्लिकेट:
DEFAULT clause in ALTER TABLE statement resulting in syntax errorएसक्यूएल सामान्य सेट करें एमएस एक्सेस में काम नहीं कर

मैं निम्नलिखित बयान एमएस एक्सेस के भीतर एक एसक्यूएल क्वेरी का उपयोग कर निष्पादित करने के लिए कोशिश कर रहा हूँ;

ALTER TABLE [table] ALTER COLUMN [column] SET DEFAULT 'default value' 

हालांकि, मैं एक डायलॉग में त्रुटि Syntax error in ALTER TABLE statement.

प्रदर्शित मिलता और जब मैं ठीक क्लिक करें यह शब्द DEFAULT पर प्रकाश डाला गया। मैंने निम्नलिखित कथन का भी प्रयास किया;

ALTER TABLE [table] 
ADD CONSTRAINT [Default] DEFAULT 'default value' FOR [column] 

और मैं एक और त्रुटि Syntax error in CONSTRAINT clause.

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

+1

दूसरा एक मानक SQL है, लेकिन मैं नहीं मानता कि यह Access में समर्थित है। ['वैकल्पिक तालिका'] देखें (http://msdn.microsoft.com/en-us/library/office/bb177883 (v = office.12) .aspx) –

+0

http://stackoverflow.com/questions/10440990/ डिफ़ॉल्ट-खंड में बदल टेबल बयान-जिसके परिणामस्वरूप में वाक्य रचना त्रुटि। यह एसक्यूएल का उपयोग नहीं किया जा सकता है। मैंने इस सवाल को बंद करने के लिए वोट दिया है। – shahkalpesh

+0

वह पिछला प्रश्न एक एक्सेस 97 डीबी के बारे में था। और चूंकि अधिकांश एक्सेस डीडीएल क्षमता ('DEFAULT' सहित) को जेट 4 (एक्सेस 2000) तक पेश नहीं किया गया था, इसलिए पिछला प्रश्न केवल तभी लागू होता है जब स्टेज़ट्रिक अपने डीबी फ़ाइल के रूप में एक्सेस 97 प्रारूप का उपयोग कर रहा हो। – HansUp

उत्तर

5

DEFAULT के लिए समर्थन जेट 4 (एक्सेस 2000) के साथ एक्सेस डीडीएल में शामिल किया गया था। हालांकि इसका उपयोग केवल एडीओ कनेक्शन से निष्पादित डीडीएल में किया जा सकता है।

यह पहुँच 2007.

CurrentProject.Connection.Execute "ALTER TABLE MyTable " & _ 
    "ALTER COLUMN field2 SET DEFAULT ""foo"";" 

नोट यदि आपके db फ़ाइल एक्सेस 97 या उससे पहले के साथ काम किया है, तो आप DDL से कोई फ़ील्ड DEFAULT मान सेट करने में सक्षम नहीं होगा।

+0

धन्यवाद @ हंसअप, यही वह है जिसे मैं ढूंढ रहा था। असल में मैं एक्सेस के भीतर से एसक्यूएल निष्पादित करने का कारण यह सुनिश्चित करने के लिए एक sandpit क्षेत्र के रूप में है कि मैं कोड में ऐसा करने के लिए सही ओडीबी क्वेरी लिख रहा था। – Steztric

+0

हाँ, इसे मिला। साझा करने के लिए धन्यवाद! – Steztric

+0

आपका स्वागत है। मुझे यकीन है कि वह वैकल्पिक तालिका ओडीबीसी कनेक्शन से काम करेगी या नहीं।यदि ऐसा नहीं होता है, तो इसके बजाय ओलेडीबी कनेक्शन का उपयोग करें क्योंकि यह तब काम करेगा। – HansUp

0

ऐसा लगता है कि आपके कॉलम के साथ Constraint समस्या होगी। हालांकि निम्नलिखित डीडीएल कथन सही तरीका है।

ALTER TABLE Persons ALTER COLUMN City SET DEFAULT 'SANDNES' 

Reference

+0

यह काम नहीं करता है। – htm11h