10.事务处理
范例:创建一个只包含10部门雇员的一张临时表
CREATE TABLE emp10 AS SELECT * FROM emp WHERE deptno=10;
然后删除编号是7782的一条信息,
DELETE RFOM emp10 WHERE empno=7782;
从当前窗口查询,可以看到数据已经被删除,但是如果开启第二个SQLplus窗口查询就会发现,这条数据还在,证明没有删除,这就是Oracle中的事务处理的概念。
事务处理:就是保证数据操作的完整性。所有的操作要么同时成功,要么同时失败。
在Oracle中对于每一个连接到数据库的窗户(SQLplus、SQLplusw)连接之后实际上都会与数据库的链接建立一个session,即每一个连接到数据库上的用户都表示创建了一个session。
一个session对数据库所做的修改,不会立刻反应到数据库的真实数据之上,是允许回滚的,当一个session提交所有的操作之后,数据库才真正的作出修改。
在数据库的操作中提供了一下的两个主要命令完成事物的处理:
提交事务:commit;
回滚事务:rollback;
如果已经提交了就不能回滚了
死锁:一个session如果更新了数据库中的记录,其他session是无法立刻更新的,要等待对方提交之后才允许更新。