本文介绍了如何在PostgreSQL生成的序列之前添加字符串前缀?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是一个序列
CREATE SEQUENCE technician_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
它会生成
1
2
3
4
1
2
3
4
我需要以下序列
AAA1
AAA2
AAA3
AAA4
AAA1
AAA2
AAA3
AAA4
有可能吗?我对Postgresql非常陌生。
Is it possible? I am very much new to postgresql.
推荐答案
有以下几种方法:
-- 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
这些假设您已经根据对原始问题的评论谨慎地决定了如何进行操作,按照其他人的要求。
These assume that you have carefully decided how to proceed, based on the comments to your original question, as asked by the others.
这篇关于如何在PostgreSQL生成的序列之前添加字符串前缀?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!