SQL$HELP72.HLB  —  START_TRANSACTION, Arguments  ISOLATION_LEVEL
    Syntax options:

       ISOLATION LEVEL READ COMMITTED
       ISOLATION LEVEL REPEATABLE READ
       ISOLATION LEVEL SERIALIZABLE

    Defines the degree to which database operations in an SQL
    transaction are affected by database operations in concurrently
    executing transactions. It determines the extent to which the
    database protects the consistency of your data.

    Oracle Rdb supports isolation levels READ COMMITTED, REPEATABLE
    READ, and SERIALIZABLE. When you use SQL with Oracle Rdb
    databases, by default, SQL executes a transaction at isolation
    level SERIALIZABLE. The higher the isolation level, the more
    isolated a transaction is from other currently executing
    transactions. Isolation levels determine the type of phenomena
    that are allowed to occur during the execution of concurrent
    transactions. Two phenomena define SQL isolation levels for a
    transaction:

    o  Nonrepeatable read

       Allows the return of different results within a single
       transaction when an SQL operation reads the same row in
       a table twice. Nonrepeatable reads can occur when another
       transaction modifies and commits a change to the row between
       transaction reads.

    o  Phantom

       Allows the return of different results within a single
       transaction when an SQL operation retrieves a range of data
       values (or similar data existence check) twice. Phantoms
       can occur if another transaction inserted a new record and
       committed the insertion between executions of the range
       retrieval.

    Each isolation level differs in the phenomena it allows. The
    following table shows the phenomena permitted for the isolation
    levels that you can explicitly specify with the START TRANSACTION
    statement.

    Table 1-9 Phenomena Permitted at Each Isolation Level

                   Nonrepeatable
    Isolation      Reads              Phantoms
    Level          Allowed?           Allowed?

    READ           Yes                Yes
    COMMITTED
    REPEATABLE     No                 Yes
    READ
    SERIALIZABLE   No                 No

    For read-only transactions, which always execute at isolation
    level SERIALIZABLE if snapshots are enabled, the database system
    guarantees that you will not see changes made by another user
    before you issue a COMMIT statement.

    See the Oracle Rdb Guide to SQL Programming for further
    information about specifying isolation levels in transactions.
Close Help