Skip to main content

Transaction Control Language (TCL)

Transaction Control (TCL) statements are used to manage the changes made by DML statements(INSERT,UPDATE etc).

TCL Statements available in Oracle are:


COMMIT 
Make changes done in  transaction permanent.

ROLLBACK
Rollbacks the state of database to the last commit point.

SAVEPOINT 
Use to specify a point in transaction to which later you can rollback.


COMMIT
To make the changes done in a transaction permanent issue the COMMIT statement.

The syntax of COMMIT Statement is
COMMIT  [WORK]  [COMMENT ‘your comment’];

WORK is optional.

COMMENT is also optional, specify this if you want to identify this transaction in data dictionary DBA_2PC_PENDING.

Example :
insert into emp (empno,ename,sal) values (001,’Dayan’,25000);
commit;


ROLLBACK

To rollback the changes done in a transaction give rollback statement. Rollback restore the state of the database to the last commit point.


Example :
delete from emp_details;
rollback;         


SAVEPOINT

Specify a point in a transaction to which later you can roll back.

Example

insert into emp values (002,’Hirosh’,30000);
savepoint a;
insert into dept values (20,’IT’,’ITSD’);
savepoint b;
insert into salgrade values (‘A’,25000,45000);

Now if you give

rollback to a;

Then  row from salgrade table and dept will be roll backed. Now you can commit the row inserted into emp table or rollback the transaction.

If you give

rollback to b;

Then row inserted into salgrade table will be roll backed. Now you can commit the row inserted into dept table and emp table or rollback to savepoint a or completely roll backed the transaction.

If you give

rollback;

Then the whole transactions is roll backed.

If you give

commit;

Then the whole transaction is committed and all savepoints are removed.



Comments

Popular posts from this blog

Setting ORACLE_SID

The  Oracle System ID  ( S ID ) is used to uniquely identify a particular database on a system How to set ORACLE_SID: Windows: set ORACLE_SID=orcl Unix/ Linux: export ORACLE_SID=orcl SID is case sensitive in Unix / Linux environments. How to check the current ORACLE_SID: Windows: Go to the commnand prompt and type as C:\> set ORACLE_SID (This will show if any ORACLE_SID is already set). C:\> set (To know all the parameters set) Unix/ Linux: echo $ORACLE_SID

Using ORADIM to Create Instance on Oracle - Windows Platform

Oradim is an Oracle utility that creates a Service to a database.  If a database is created upon install, or if you use Database Assistant to create a db, it will automatically use this utility to create a service to the db upon creation of the db. If you double click on the Services icon in Control Panel, you will see all the services that are available to the machine. If a machine has a db running on it, you will see a service by the name of OracleService(SID) with a manual or automatic startup type. If the startup is set to automatic, the db will shutdown/startup whenever the machine is restarted, else you will have to shutdown/startup manually.  So you have to use oradim only when you create a database without using the Database Configuration Assistant. You have to use Oradim to create services if you created the database manually.   Example of Oradim to create a service for an 9i database: Create an instance by specifying the following options: (type at comma...