PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

Postgresql अनुक्रम के लिए मानों की सूची कैसे निर्दिष्ट करें

इस तरह काम कर सकता है:

-- DROP SCHEMA x CASCADE;
CREATE SCHEMA x;
CREATE TABLE x.priv_id(seq_id int primary key, id int);

INSERT INTO x.priv_id
SELECT generate_series(1,100,1), (random() * 1000)::int;

CREATE SEQUENCE x.priv_seq;

SELECT id
FROM   x.priv_id
WHERE  seq_id = (SELECT nextval('x.priv_seq'));

प्रमुख बिंदु:

1) दो नंबरों के साथ एक लुकअप टेबल बनाएं
- seq_id 1 और आपकी प्राथमिक कुंजी से गिना जा रहा है।
- id क्या आपकी संख्याएँ क्रम में हैं (मैंने यहाँ यादृच्छिक संख्याएँ प्रतिस्थापित की हैं)।
2) एक सहायक अनुक्रम बनाएँ।
3) ऊपर दिए गए एक चयन के साथ अपने नंबर प्राप्त करें।
आपको उप-चयन की आवश्यकता है, या सभी मान एक ही बार में वापस कर दिए जाएंगे।

यह समाधान सभी सुरक्षा देता है nextval() समवर्ती के लिए प्रस्ताव देना होगा।
यदि आप सुनिश्चित करना चाहते हैं कि आपकी कस्टम आईडी अद्वितीय हैं, तो priv_id(id) पर एक अद्वितीय अनुक्रमणिका बनाएं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL के लिए अच्छा OleDB/ODBC प्रदाता

  2. इसका क्या मतलब है जब एक PostgreSQL प्रक्रिया लेनदेन में निष्क्रिय है?

  3. क्या मैं npgsql 3.0.0 के साथ एक पोस्टग्रेस्क्ल साइटटेक्स्ट फ़ील्ड पढ़ सकता हूं?

  4. संग्रहीत फ़ंक्शन या प्रक्रिया को कॉल करना सम्मिलित नहीं होगा और परिवर्तन जारी रखेगा

  5. PostgreSQL तालिका बनाएँ