PG WORKSHOP

sequences

PostgreSQL understøtter sequences (trækning af numre) - med følgende egenskaber:

  • Increment value (normalt 1)
  • Startværdi (det til enhver tid gældende næste nummer, der bliver trukket
CREATE SEQUENCE serial START 1;

Trækning af værdier fra en sequence:

SELECT nextval('serial');

Datatypen serial (IKKE EN ÆGTE DATATYPE) anvender sequences

Kommandoen:

CREATE TABLE tab (id SERIAL);

er ækvivalent med:

CREATE SEQUENCE tab_id_seq;
CREATE TABLE tab (col integer NOT NULL DEFAULT nextval('tablename_colname_seq');

Værdien af en sequence kan sættes explicit med setval funktionen. F.eks.:

SELECT setval('serial', SELECT MAX(id) FROM table));