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

PostgreSQL nextval und currval in derselben Abfrage

Eine mögliche Lösung

SELECT nextval nextval1, nextval nextval2
  FROM
(
  SELECT NEXTVAL('seq_name') nextval
) q

Hier ist SQLFiddle Demo.

AKTUALISIEREN Zum Einfügen anstelle von INSERT INTO ... VALUES Verwenden Sie INSERT INTO ... SELECT

INSERT INTO Table1 (col1, col2, col3, col4, ...) 
SELECT nextval, nextval, 5, 'Text value', ...
  FROM
(
  SELECT NEXTVAL('seq_name') nextval
) q