Tom Lane wrote:
>
> My own inclination is to think that if SET TRANSACTION ISOLATION LEVEL
> is executed *inside* a BEGIN block, then it should set the IsoLevel for
> that transaction block only, but if executed as a freestanding
> transaction then it ought to set the default IsoLevel for subsequent
> transactions. Comments?
This would seem logical (from my point of view) but I don't know whether
this is compatible with SQL92. In "A Guide to THE SQL STANDARD" , 4th edition
p. 59 C.J Date and Hugh Darwen state that SET TRANSACTION affects only the
next transaction; "If a transaction is is initiated for which no
corresponding SET TRANSACTION has been performed, the effect is as if such a
SET TRANSACTION had been performed with all options set to their default
value (presumably though the standard does not actually say as much)."
It seems that the standard does not forbid really your suggestion;but
I dont't know if this would be in the sense of the standard. Perhaps
one could say that a freestanding SET TRANSACTION sets the default
for subsequent transactions (But that might be stretching things a lot).
What do other databases do ?
Alois
__________________________________________________
Do You Yahoo!?
Bid and sell for free at http://auctions.yahoo.com