2013-05-14 5 views
8

मैं एक उत्तर ढूंढ रहा था लेकिन मुझे यह नहीं मिला।एसक्यूएल सर्वर - प्राथमिक कुंजी के बिना स्क्रिप्ट जेनरेट करें

मैं अपने डेटा की जेनरेट की गई स्क्रिप्ट बनाने का प्रयास कर रहा हूं (मेरा मतलब है, आदेशों में सभी इंसर्ट)। एक्सेस अनुमतियों के कारण, मैं एक सेट IDENTITY_INSERT तालिका बंद और चालू नहीं कर सकता (मैं स्टेजिंग में उपयोगकर्ता अनुप्रयोग का उपयोग कर रहा हूं)

तो, इस स्क्रिप्ट को SQL सर्वर प्रबंधक में बनाने और फ़ील्ड से बचने का एक तरीका है प्राथमिक कुंजी के साथ? मैं सभी गुणों (प्राथमिक, अद्वितीय, आदि) को झूठा करने के लिए सेट करता हूं, लेकिन स्क्रिप्ट अभी भी इस फ़ील्ड को भेज रही है (उदाहरण के लिए, रिकिड 1, 2, 3, आदि)।

मैं एसक्यूएल सर्वर का उपयोग कर रहा 2012

सधन्यवाद,

कोई समाधान (नोटपैड के साथ इसे हटाने के लिए ++ को छोड़कर) preciated है। स्क्रिप्ट के लिए मेरे विन्यास: मेरी अंग्रेजी :)

अद्यतन के लिए पूछें से पहले downvoted/संपादित करें, और खेद

enter image description here

परिणाम मैं:

SET IDENTITY_INSERT -TABLE- ON 
INSERT INTO TABLE (ID,Field1) VALUES (1,'value') 

उत्तर

11

आसपास के काम का थोड़ा सा, लेकिन कभी-कभी इन चीजों को करने का उपयोगी और गंदा तरीका:

SELECT 'INSERT INTO TABLE (Field1) VALUES (''' + Field1 + ''')' FROM TABLE 

परिणाम सेट तालिका तालिका में प्रत्येक पंक्ति के लिए प्रत्येक सम्मिलन कथन के लिए एक पंक्ति होगी। INSERT कथन INSERT कथन टेक्स्ट को फ़ील्ड 1 के मानों के साथ संयोजित करने से उत्पन्न होता है।

+0

ओएमजी, यह इतना आसान था कि मैंने कभी इसके बारे में सोचा नहीं! मैं कुछ एसपी को लाने कर्सर और आदि के साथ सोचने में सोच रहा था। बहुत बहुत धन्यवाद। –

+2

यह कई परिस्थितियों में आसान होता है जब आपको डेटा को बदलने की आवश्यकता होती है और रेगेक्स आसान नहीं होता है ... इसने मुझे वर्षों में कई बार बचाया है! – FlipperPA

+0

और नल के बारे में क्या? मेरे पास शून्य के साथ कुछ रिकॉर्ड हैं (smalldatetime फ़ील्ड) –

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