/ / पोस्टग्रेज़ में कई रिकॉर्ड से धारावाहिक क्षेत्र की वृद्धि में वृद्धि - एसक्यूएल, पोस्टग्रेस्क्ल, वृद्धि

पोस्टग्रेज़ में कई रिकॉर्ड्स से सीरियल फ़ील्ड की वृद्धि को अपडेट करें - एसक्यूएल, पोस्टग्रेस्क्ल, वृद्धि

मैं अनुक्रमिक आईडी का उपयोग करने वाले सभी कॉलम के वृद्धि मूल्य को बदलना चाहता हूं। मैं यह कैसे कर सकता हूं?

मैंने निम्नलिखित 2 दृष्टिकोणों की कोशिश की, दोनों विफल:

UPDATE information_schema.sequences SET increment=1;

यह काम नहीं करता है क्योंकि info_schema.sequences यह एक दृश्य है।

मैंने अंत में एक से जोड़कर, वैकल्पिक सेक्शन का उपयोग करने की भी कोशिश की, जैसे:

ALTER SEQUENCE A.sequence_name INCREMENT BY 2 FROM (SELECT * FROM information_schema.sequences) AS A

लेकिन मुझे एक वाक्यविन्यास त्रुटि मिलती है।

मैं यह कैसे कर सकता हूँ?

उत्तर:

जवाब के लिए 0 № 1

उपयोग करने का प्रयास करें setval से डॉक्स

या

ALTER SEQUENCE... RESTART WITH... के रूप में वर्णित यहाँ

दो बार संपादित किया गया

नमूना स्कीमा में सभी अनुक्रमों को कैसे बदलें:

do
$$
declare
i record;
begin
for i in (select * from information_schema.sequences) loop
execute $e$ALTER SEQUENCE $e$||i.sequence_name||$e$ INCREMENT BY 2$e$;
end loop;
end;
$$
;
DO