SQL/MX 2.x Reference Manual (H06.04+)

SQL/MX Statements
HP NonStop SQL/MX Reference Manual540440-003
2-220
Considerations for SET TRANSACTION
Considerations for SET TRANSACTION
Implicit Transactions
Most DML statements are transaction-initiating—the system automatically initiates a
transaction when the statement begins executing.
The exceptions (statements that are not transaction-initiating) are:
COMMIT, FETCH, ROLLBACK, and SET TRANSACTION
DML statements operating on nonaudited tables
DML statements executing under READ UNCOMMITTED access on audited tables
The embedded-only SQL statements and declarations GET DIAGNOSTICS,
BEGIN DECLARE SECTION, END DECLARE SECTION, and WHENEVER
EXECUTE or EXECUTE IMMEDIATE, which are transaction-initiating only if the
associated statement is transaction-initiating
Cursor declarations (both static and dynamic)
DECLARE CATALOG and DECLARE SCHEMA
In MXCI, the EXECUTE statement is transaction-initiating only if the statement that it
executes is transaction-initiating.
Explicit Transactions
You can issue an explicit BEGIN WORK even if the autocommit option is on. The
autocommit option is temporarily disabled until you explicitly issue COMMIT or
ROLLBACK.
Degree of Concurrency
The SET TRANSACTION statement has an effect on the degree of concurrency
available to the transaction. Concurrent processes take place within the same interval
of time and share resources. The degree of concurrency available—that is, whether a
process that requests access to data already being accessed is given access or placed
in a wait queue—is affected by:
The transaction access mode (READ ONLY or READ WRITE)
The transaction isolation level (READ UNCOMMITTED, READ COMMITTED,
SERIALIZABLE, or REPEATABLE READ)
Effect on Utilities
The SET TRANSACTION statement has no effect on the utility statements DUP,
IMPORT, MODIFY TABLE, and PURGEDATA. The SET TRANSACTION statement
does set attributes for transactions for UPDATE STATISTICS.
C/COBOL
Embed