Re: Theoretical Basis for SELECT FOR UPDATE

From: paul c <toledobythesea_at_oohay.ac>
Date: Tue, 04 Oct 2005 16:35:22 GMT
Message-ID: <eby0f.79965$oW2.24117_at_pd7tw1no>


vc wrote:
> Tony Andrews wrote:
>

>>vc wrote:
>>
>>>>Yes, it would: your syntax is not valid.  The commas are not merely an
>>>>syntactic alternative to semi-colons, they are semantically different
>>>>too: they indicate that the two updates are to be treated as a single
>>>>DML statement with no implicit ordering.  You can't insert a call to
>>>>procedure between the two updates - that is the point of having this
>>>>syntax!
>>>
>>>Never mind 'print', is the update,select,update; sequence legal ?
>>
>>No.  There is no "sequence" here - that is the whole point!

>
>
> So, assuming t1 has no rows,
>
> insert into t1(x) values(1),update t1 where x=1 set x=2;
>
> would have the same result as
>
> update t1 where x=1 set x=2, insert into t1(x) values(1);
>
> Is that what you are saying ?
>

I know I'm butting in and I don't have a good answer to any of this but I'd just like to point out that TTM, 2nd edition, page 169 says the target variables are updated in parallel (apparently the first edition did define it as a sequence of updates). It also says that "the overall result might be unpredictable if the target variabls T1, T2, ..., Tn are not all distinct...".

p Received on Tue Oct 04 2005 - 18:35:22 CEST

Original text of this message