Re: order of multiple assignments in UPDATE - Mailing list pgsql-sql

From Ossie J. H. Moore
Subject Re: order of multiple assignments in UPDATE
Date
Msg-id 9chd4p$1vlq$1@news.tht.net
Whole thread Raw
In response to order of multiple assignments in UPDATE  (Anuradha Ratnaweera <anuradha@gnu.org>)
Responses Re: order of multiple assignments in UPDATE  (Anuradha Ratnaweera <anuradha@gnu.org>)
List pgsql-sql
While I'm not sure specificly which order they will be determined
in, it has no effect on what the value of "c1" will be. The value 
of "c1" will be 10 minus the value of "c2" where "c2" equals the 
value it was before the update occurred. For exmple...

1. Assume you create the following table...

create table temp
(  c1 int2, c2 int2, c3 int2
);

2. Insert the following row...

insert into temp values (1,1,1);

3. Execute the following update command...

update temp 
set      c1 = (10-c2), c2 = 5, c3 = (10-c2);

4. Execute the following select...

select * from temp;

5. Observe the following output...

c1    c2    c3
==    ==    ==
9    5    9

You will note that both c1 and c3 equal 10 - 1. Neither equals 
10-5. To make the value 10 - {the value after the update}, 
you would need to set the value to c1/c3 equal to the value of 
10 - {the expression used to assign value to c2}. In the 
example above, your update statement would be...

update temp
set      c1 = ( 10 - (5) ), c2 = (5), c3 = ( 10 - (5) );


In article <Pine.LNX.4.21.0104281846010.233-100000@presario>,
anuradha@gnu.org  wrote:

> 
> If I have a query
> 
>   UPDATE tablename SET c1 = 10 - c2, c2 = 4 where ...
> 
> will the two assignments be evaluated from left to right?
> 
> Thanks in advance.
> 
> Anuradha
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly


pgsql-sql by date:

Previous
From: Peter Mount
Date:
Subject: Re: HELP : Can't load JDBC driver !
Next
From: Steve Meynell
Date:
Subject: Re: Heres a good one...