On Sun, 19 Sep 2004 08:37:10 -0500, Paramveer.Singh wrote: > Hi all! > consider the following table > > table a (id int primary key) > and a particular instance of it: > id > ------------------------ > 5 > 6 > > now update a set id = id +1; > fails if the executor processes row with 5 first. > This means that the query will succeed sometimes and fail at other times > (when it processes 6 first). > Are there any workarounds to this? > Basically what we would like to do would be something like doing constraint > validations only at the end of execution of an update query, instead of > after every row update. > > to see why sometimes this query might work, run the following commands: > > create table a (id int primary key); > insert into a values (6); > insert into a values (5); > update a set id = id +1; > > basically we would like to see uniformity in execution. Either the query > should always fail or always succeed. > Are there any standards on this? >
What is the logic for changing the PK? One option is a SELECT INTO statement. The id can be incremented during the statement. ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html