sequences in transaction blocks
I want to insert records inside a transaction block (BEGIN - COMMIT/ROLLBACK). If the transaction fails,
the sequence do not rollback and retain the new value.
This is the default behavior of sequences ?
I use the following table:
CREATE TABLE proceduri
(
procedura_id int4 NOT NULL DEFAULT nextval('proceduri_proceduri_id_seq'::regclass),
tip_procedura_id int4,
....
CONSTRAINT proceduri_pkey PRIMARY KEY (procedura_id)
)
WITH OIDS;
where 'proceduri_proceduri_id_seq is:
CREATE SEQUENCE proceduri_proceduri_id_seq
INCREMENT 1
MINVALUE 1000000000
MAXVALUE 1099999999
START 1000000001
CACHE 1;
Okay, all clear.
Thanx a lot.
----- Original Message -----
From: "Tino Wildenhain" <tino@wildenhain.de>
To: "Marian Naghen" <naghen@ratb.ro>
Cc: <pgsql-general@postgresql.org>
Sent: Monday, December 19, 2005 7:50 AM
Subject: Re: [GENERAL] sequences in transaction blocks
Show quoted text
Am Montag, den 19.12.2005, 09:39 +0000 schrieb Marian Naghen:
I want to insert records inside a transaction block (BEGIN -
COMMIT/ROLLBACK). If the transaction fails,
the sequence do not rollback and retain the new value.This is the default behavior of sequences ?
Yes it is (its the whole point of sequences)
please see the docs, for example:http://www.postgresql.org/docs/current/static/functions-sequence.html
especially the last paragraph.
HTH
Tino Wildenhain