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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值