这是一个序列
CREATE SEQUENCE technician_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
生成
1
2
3
4
我需要序列为
AAA1
AAA2
AAA3
AAA4
有可能吗?我非常喜欢postgresql。
答案 0 :(得分:8)
以下是几种方式:
-- Referencing the sequence directly:
CREATE SEQUENCE test_seq;
SELECT 'AAAA'||nextval('test_seq')::TEXT;
?column?
----------
AAAA1
SELECT 'AAAA'||nextval('test_seq')::TEXT;
?column?
----------
AAAA2
-- Using a DEFAULT
CREATE TABLE abc
(val TEXT NOT NULL DEFAULT 'AAAA'||nextval('test_seq'::regclass)::TEXT,
foo TEXT);
INSERT INTO abc (foo) VALUES ('qewr');
SELECT * FROM abc;
val | foo
-------+------
AAAA3 | qewr
这些假设您已经根据原始问题的评论仔细决定了如何继续进行,如其他人所要求的那样。