Oracle--事务

 开发者博客www.developsearch.com

事务控制包括协调对相同数据的多个同步的访问。当一个用户改变了另一个用户正在使用的数据时,oracle使用事务控制谁可以操作数据。

事务控制语句:

Commit  完成事务,数据修改成功并对其他用户开放

Rollback  撤销事务,撤销所有操作

rollback to savepoint  撤销在设置的回滚点以后的操作

set transaction 响应事务或语句的一致性;特别对于事务使用回滚段

 

例一:

BEGIN

UPDATE checking

SET balance=balance-5000

WHERE account='Kieesha';

 

INSERT INTO checking_log(action_date,action,amount)

VALUES (SYSDATE,'Transfer to brokerage',-5000);

 

COMMIT

 

EXCEPTION

WHEN OTHERS

ROLLBACK

 

END

 

例二:

BEGIN

 

INSERT INTO ATM_LOG(who,when,what,where)

VALUES ('Kiesha',SYSDATE,'Withdrawal of $100','ATM54')

SAVEPOINT ATM_LOGGED;// 保留点Savepoint可标志长事务中的任何点,允许可回滚该点之后的操作。

 

UPDATE checking

SET balance=balance-100

RETURN balance INTO new_balance;

 

IF new_balance<0

THEN

ROLLBACK TO ATM_LOGGED;

COMMIT

RAISE insufficient_funda;

END IF

 

END

 

开发者博客www.developsearch.com

猜你喜欢

转载自keepwork.iteye.com/blog/1994100