PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie kann man eine Zeichenfolge vor einer von Postgresql generierten Sequenz voranstellen?

Hier sind ein paar Möglichkeiten:

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

Diese gehen davon aus, dass Sie sorgfältig entschieden haben, wie Sie vorgehen möchten, basierend auf den Kommentaren zu Ihrer ursprünglichen Frage, die von den anderen gestellt wurde.