A transaction is a unit of work that is performed
against a database. Transactions are units or sequences of work accomplished in
a logical order, whether in a manual fashion by a user or automatically by some
sort of a database program.
A transaction is the propagation of one or more changes
to the database. For example, if you are creating a record or updating a record
or deleting a record from the table, then you are performing transaction on the
table.
It is important to control transactions to ensure data integrity and to
handle database errors.
Practically, you will club many SQL queries into a
group and you will execute all of them together as a part of a transaction.
Properties of Transactions:
Transactions have the following four standard
properties, usually referred to by the acronym
ACID:(Atomicity,Consistency,Isolation,Durability)
Atomicity: ensures that all operations within the work
unit are completed successfully; otherwise, the transaction is aborted at the
point of failure, and previous operations are rolled back to their former
state.
Consistency: ensures that the database properly changes
states upon a successfully committed transaction.
Isolation: enables transactions to operate
independently of and transparent to each other.
Durability: ensures that the result or effect of a
committed transaction persists in case of a system failure.
Transaction Control:
There are following commands used to control
transactions:
COMMIT: to save the changes.
ROLLBACK: to rollback the changes.
SAVE POINT: creates points within groups of transactions
in which to ROLLBACK
SET TRANSACTION: Places a name on a transaction.
Transactional control commands are only used with the
DML commands INSERT, UPDATE and DELETE only. They can not be used while
creating tables or dropping them because these operations are automatically committed in the database.
The COMMIT Command:
The COMMIT command is the transactional command used to
save changes invoked by a transaction to the database.
The COMMIT command saves all transactions to the
database since the last COMMIT or ROLLBACK command.
The syntax for COMMIT command is as follows:
COMMIT;
The ROLLBACK Command:
The ROLLBACK command is the transactional command used
to undo transactions that have not already been saved to the database.
The ROLLBACK command can only be used to undo
transactions since the last COMMIT or ROLLBACK command was issued.
The syntax for ROLLBACK command is as follows:
ROLLBACK;
The SAVEPOINT Command:
A SAVEPOINT is a point in a transaction when you can
roll the transaction back to a certain point without rolling back the entire
transaction.
The syntax for SAVEPOINT command is as follows:
SAVEPOINT SAVEPOINT_NAME;
This command serves only in the creation of a SAVEPOINT
among transactional statements. The ROLLBACK command is used to undo a group of
transactions.
The syntax for rolling back to a SAVEPOINT is as
follows:
ROLLBACK TO SAVEPOINT_NAME;
The RELEASE SAVEPOINT Command:
The RELEASE SAVEPOINT command is used to remove a
SAVEPOINT that you have created.
The syntax for RELEASE SAVEPOINT is as follows:
RELEASE SAVEPOINT SAVEPOINT_NAME;
Once a SAVEPOINT has been released, you can no longer
use the ROLLBACK command to undo transactions performed since the SAVEPOINT.
The SET TRANSACTION Command:
The SET TRANSACTION command can be used to initiate a
database transaction. This command is used to specify characteristics for the
transaction that follows.
For example, you can specify a transaction to be read
only, or read write.
The syntax for SET TRANSACTION is as follows:
SET TRANSACTION [ READ WRITE | READ ONLY ];
No comments:
Post a Comment