我想知道是否有可能在PostgreSQL中实现以下内容:
我有一个名为Dossier
的表(英文中的“文件夹”),其表结构如下:name, taille
,...
现在,我希望在桌面上拥有的条件是每次创建Dossier
的新实例时,name
列中的值会自动补充一个 - 增加标识符,如:ref00001
,ref00002
等。(为了澄清,在第二次插入后,name
列的值应自动为ref00002
...)
答案 0 :(得分:2)
CREATE SEQUENCE seq_ref;
CREATE TABLE dossier
(
ref TEXT NOT NULL PRIMARY KEY DEFAULT 'ref' || NEXTVAL('seq_ref'),
value TEXT
);
如果您想要零填充数字,请使用:
CREATE SEQUENCE seq_ref;
CREATE TABLE dossier
(
ref TEXT NOT NULL PRIMARY KEY DEFAULT 'ref' || LPAD(NEXTVAL('seq_ref')::TEXT, 10, '0'),
value TEXT
);