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

Reply via email to