开发者博客: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