Progress
Programming
Handbook


Transactions

A transaction is a set of changes to the database that is either executed completely or leaves no modification to the database. A subtransaction is nested in a transaction and encompasses all activity within one iteration of the following kinds of blocks: DO ON ERROR, FOR EACH, procedure, REPEAT, and triggers. Table 3–2 shows which kinds of blocks start transactions and subtransactions.

Table 3–2: Starting Transactions 
Type of
Block
Transaction
Not Active
Transaction
Active
DO TRANSACTION
FOR EACH TRANSACTION
REPEAT TRANSACTION
Any DO ON ENDKEY, DO ON ERROR, FOR EACH, REPEAT, or procedure block that contains statements that modify the database or that read records using an EXCLUSIVE–LOCK.
Starts a transaction
Starts a subtransaction
Any FOR EACH, REPEAT, or procedure block that does not contain statements that modify the database or read records using an EXCLUSIVE–LOCK.
Does not start a transaction
Starts a subtransaction

For more information on transactions, see Transactions."

When an error occurs, Progress performs differently depending on the context. Progress’s error processing allows you to accept default action depending on the type of error, or to define the error behavior yourself. The following section discusses error processing.


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095