12
मुझे एक स्क्रिप्ट मिलती है जो एक डीबी से दूसरे डेटा तालिका की प्रतिलिपि बनाता है, हालांकि आईडी कॉलम को अनुक्रम द्वारा समर्थित किया जाता है, जब गंतव्य तालिका में नया रिकॉर्ड डाला जाता है nextval(seq)
गलत मूल्य वापस कर रहा है।पुनरारंभ करें ताकि अगली बार अगली अप्रयुक्त आईडी
मुझे अनुक्रम को अपडेट करने की आवश्यकता है ताकि यह अगले उपलब्ध आईडी पर शुरू हो।
ALTER SEQUENCE seq_id RESTART WITH
(SELECT MAX(id) FROM tbl);
ऊपर एक सिंटैक्स त्रुटि तथापि पैदा करता है:
मैं की तरह कुछ करना चाहते हैं।
क्या कोई वैकल्पिक दृष्टिकोण सुझा सकता है?
जवाब के लिए धन्यवाद, मैं इस चल रहा हूँ के रूप में एक गूंज psql में पहुंचाया .. आप मुझे बता सकते पूरे आदेश से कैसे बचें? – pstanton
गतिशील रूप से 'परिवर्तन अनुक्रम' कथन बनाने के बजाय आप 'सेटवल' फ़ंक्शन का उपयोग कर सकते हैं; सरल, लेकिन यदि आप इन्हें एक-एक करके कर रहे हैं तो कोई वास्तविक अंतर नहीं आता है। – araqnid