कुछ इस तरह ठीक होना चाहिए:
अनुक्रम बनाएं:
CREATE SEQUENCE special_seq;
कोई फ़ंक्शन बनाएं या नहीं:
CREATE OR REPLACE FUNCTION
nextval_special()
RETURNS TEXT
LANGUAGE sql
AS
$$
SELECT 'X'||to_char(nextval('special_seq'), 'FM0000');
$$;
अब जांचें कि क्या यह काम करता है:
SELECT nextval_special() FROM generate_series(1,10);
nextval_special
-----------------
X0001
X0002
X0003
X0004
X0005
X0006
X0007
X0008
X0009
X0010
(10 rows)
अब आप उपरोक्त फ़ंक्शन का उपयोग करके तालिका बना सकते हैं:
CREATE TABLE test (
id TEXT PRIMARY KEY DEFAULT nextval_special(),
a int
);
या फ़ंक्शन से साधारण क्वेरी के साथ फ़ंक्शन के बिना:
CREATE TABLE test (
id TEXT PRIMARY KEY DEFAULT 'X'||to_char(nextval('special_seq'), 'FM0000'),
a int
);