From: Jasen Betts <jasen@xnet.co.nz>
To: pgsql-sql@postgresql.org
Subject: Re: Order of execution
Date: 6 May 2013 09:07:05 GMT
Message-ID: <km7rrp$qsh$1@gonzo.reversiblemaps.ath.cx> (raw)
References: <CAAY=A7_O9hitn_zE78AVgKOKPU8YGY2XwETdwLKdBiMz0fO=xQ@mail.gmail.com>
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-sql>
On 2013-05-06, JORGE MALDONADO <jorgemal1960@gmail.com> wrote:
> --089e013d1eb83325e504dc01710d
> Content-Type: text/plain; charset=ISO-8859-1
>
> I have an UPDATE query which performs several opertions in one table.
>
> UPDATE table01 SET
> field1 = (query1 may contain any field),
> field2 = (query1 may contain any field),
> field3 = (query1 may contain any field)
> WHERE (condition)
>
> query1, query2 and query3 perform a logic to determine which records will
> be updated. Does field1 updates first, then field2 and, lastly, field3?
Updates are one row at a time in an unpredictble order.
this will be wrapped in a transaction so either all will
updated or none.
testing suggests that in simple cases the expressions are evaluated in
the order the columns appear in the table definition, but I wouldn't
rely on that.
> or What is the order in which updates are executed? If I need fields to be
> updated in a certain order, should I use 3 UPDATE commands instead?
yeah, if "simultaneously" isn't acceptable you'll need to do separate
updates.
--
⚂⚃ 100% natural
--
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: jasen@xnet.co.nz
Subject: Re: Order of execution
In-Reply-To: <km7rrp$qsh$1@gonzo.reversiblemaps.ath.cx>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox