| 语句 | 用途 |
| Commit | 完成事务,数据修改成功并对其他用户开放 |
| Rollback | 撤销事务,撤销所有操作 |
| rollback to savepoint | 撤销在设置的回滚点以后的操作 |
| set transaction | 响应事务或语句的一致性;特别对于事务使用回滚段 |
| BEGINUPDATE checkingSET balance=balance-5000WHERE account='Kieesha';INSERT INTO checking_log(action_date,action,amount)VALUES (SYSDATE,'Transfer to brokerage',-5000);UPDATE brokerageSET cash_balance=cash_balance+5000WHERE account='Kiesha';INSERT INTO brokerage_log(action_date,action,amount)VALUES (SYSDATE,'Tracfer from checking',5000)COMMITEXCEPTIONWHEN OTHERSROLLBACKEND |
| BEGIN INSERT INTO ATM_LOG(who,when,what,where)VALUES ('Kiesha',SYSDATE,'Withdrawal of $100','ATM54')SAVEPOINT ATM_LOGGED;UPDATE checkingSET balance=balance-100RETURN balance INTO new_balance;IF new_balance<0THENROLLBACK TO ATM_LOGGED;COMMITRAISE insufficient_funda;END IFEND |
| ROLLBACK TO ATM_LOGGED;ROLLBACK TO SAVEPOINT ATM_LOGGED; |
| SET TRANSACTION ISOLATION LEVEL READ COMMIT;SET TRANSACTION ISOLATION LEVEL READ COMMIT |
| SET TRANSCATION READ ONLY |
| SELECT(没有FOR UPDATE子句)LOCK TABLESET ROLEALTER SYSTEMALTER ALARM |
| SET TRANSACTION USE ROLLBACK SEGMENT rb_large; |
| rb_large(initial 100M minextenta 2)rb1 (initial 1M next minextents 5) rb2 (initial 1M next minextents 5)rb3 (initial 1M next minextents 5)rb4 (initial 1M next minextents 5)rb5 (initial 1M next minextents 5)rb6 (initial 1M next minextents 5)rb7 (initial 1M next minextents 5)rb8 (initial 1M next minextents 5)rb9 (initial 1M next minextents 5)rb10 (initial 1M next minextents 5) |
| SET TRANSACTION USE ROLLBACK SEGMENT rb_large |
责任编辑:H.R.M

