On Tuesday 10 September 2002 09:55 pm, Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > That seems messy. What you are saying is that if autocommit is off,
> > then in:
> >
> > SET x=1;
> > UPDATE ...
> > SET y=2;
> > ROLLBACK;
> >
> > that the x=1 doesn't get rolled back bu the y=2 does?
>
> Yes, if you weren't in a transaction at the start.
>
> > I can't see any good logic for that.
>
> How about "the SQL spec requires it"? Date seems to think it does,
> at least for some variables (of course we have lots of variables
> that are not in the spec).
>
> I can't find anything very clear in the SQL92 or SQL99 documents,
> and I'm not at home at the moment to look at my copy of Date, but
> if Curt's reading is correct then we have spec precedent for acting
> this way.
I know what Oracle do (default mode autocommit off except JDBC) :
only DML and DDL command start transaction and DDL command end transaction.
There is another problem: if select start transaction why error - I will
continue transaction.
Why invalid command start transaction ?
regards
haris peco