PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

comment préfixer une chaîne avant la séquence générée par postgresql ?

Voici quelques façons :

-- 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

Ceux-ci supposent que vous avez soigneusement décidé comment procéder, sur la base des commentaires à votre question initiale, comme demandé par les autres.