Transaction:
 A transaction is
a logical, atomic unit of work that contains one or more SQL statements. 
Transaction groups SQL statements so that they are either all
committed
(which means they are applied to the database), or all rolled back (which
means they are undone from the database). 
Property of Transaction:
ACID: (atomicity, consistency, isolation, durability)
In computer
science, ACID is
a set of properties that guarantee that database
transactions are processed reliably
Atomicity: Modification on the data in the database either fails or
succeeds. The beginning of such a modification starts with a transaction
and ends when a transaction finishes (either by a commit or a
rollback).
Consistency: The transaction takes the
database from one consistent state to another consistent state.
Isolation: The
effect of a transaction is not visible to other transactions until the
transaction is committed. 
Durability: Changes
made by committed transactions are permanent.
Type of Transaction:
1.    Auto commit mode : On any DML operation, commit fires implicitly.(e.g.
SQL Server)
2.    Implicit mode: commit is must before logout. (e.g. Oracle
9i & 10g)
3.    Explicit Mode: User will apply commit as per his
requirement.
Example 1:
BEGIN TRANSACTION;
BEGIN TRY
    DELETE FROM TB1                   --DELETED
ALL ROW
    SELECT * FROM TB1                 --NO ROW HERE
    DELETE FROM TB1 WHERE ID = 'ABC'; --HERE IS ERROR ('ABC' is
not integer value)
END TRY
BEGIN CATCH
    SELECT 
        ERROR_NUMBER() AS ErrorNumber
        ,ERROR_SEVERITY() AS ErrorSeverity
        ,ERROR_STATE() AS ErrorState
        ,ERROR_PROCEDURE() AS ErrorProcedure
        ,ERROR_LINE() AS ErrorLine
        ,ERROR_MESSAGE() AS ErrorMessage;
    IF @@TRANCOUNT > 0
        ROLLBACK
TRANSACTION; --ROLL BACK HERE
        SELECT * FROM TB1    --IT WILL GIVE
ALL ROW
END CATCH;
IF @@TRANCOUNT > 0
    COMMIT TRANSACTION;
GO
 
No comments:
Post a Comment