Try OpenEdge Now
skip to main content
SQL Reference
SQL Reference : OpenEdge SQL Statements : SET TRANSACTION ISOLATION LEVEL
 

SET TRANSACTION ISOLATION LEVEL

Explicitly sets the isolation level for a transaction. Isolation levels specify the degree to which one transaction can modify data or database objects in use by another concurrent transaction.

Syntax

SET TRANSACTION ISOLATION LEVEL isolation_level_name ;

Parameters

isolation_level_name
The following is the syntax for isolation_level_name:
READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE
READ UNCOMMITTED
Also known as a dirty read. When this isolation level is used, a transaction can read uncommitted data that later might be rolled back. The standard requires that a transaction that uses this isolation level can only fetch data but cannot update, delete, or insert data.
READ COMMITTED
Dirty reads are not possible with this isolation level. However, if the same row is repeatedly read during the same transaction, its contents can be changed or the entire row can be deleted by other transactions.
REPEATABLE READ
This isolation level guarantees that a transaction can read the same row many times and it will remain intact. However, if a query with the same search criteria (the same WHERE clause) is executed more than once, each execution can return different sets of rows. This can happen because other transactions are allowed to insert new rows that satisfy the search criteria or update some rows in such a way that they now satisfy the search criteria.
SERIALIZABLE
This isolation level guarantees that none of the above happens. Transactions that use this level will be completely isolated from other transactions.

Notes

*See the LOCK TABLE for information on record locking schemes used by each isolation level.
*For more information on transactions, see OpenEdge Data Management: SQL Development.
* Authorization
* Related statements