602SQL-Úplná dokumentace Index  

Příkaz SET TRANSACTION (SQL)

příkaz_SET_TRANSACTION ::= SET TRANSACTION [ izolace ] [, druh_transakce ]  
izolace ::= ISOLATION LEVEL { READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE }
druh_transakce ::= READ ONLY | READ WRITE

Příkaz SET TRANSACTION nastavuje vlastnosti implicitních transakcí: určuje jejich druh a stupeň izolace od ostatních souběžně probíhajících transakcí. Toto nastavení platí i pro všechny následné transakce až do nového nastavení.

Není-li specifikovaná izolace, uplatní se SERIALIZABLE. Není-li specifikován druh transakce, pak je-li specifikována izolace READ UNCOMMITTED, uplatní se READ ONLY, jinak se uplatní READ WRITE.

Je-li tento příkaz proveden v situaci, kdy je explicitní transakce již zahájena, nastane chybový sqlstate 25001.

Interně SQL server 602SQL implementuje pouze stupně izolace READ COMMITTED a SERIALIZABLE. Při nastavení READ UNCOMMITTED se vnitřně nastaví READ COMMITTED, při nastavení REPEATABLE READ se vnitřně nastaví SERIALIZABLE. Toto chování je plně v souladu s normou.

Odlišnosti od normy