oracle学习篇七:更新操作、事务处理


----------------1.数据库更新操作-----------------------------

select * from tab;--查询表

drop table siebel_user;--删除表

--copy一份表结构
create table myemp as select * from emp;

select * from myemp;

--插入记录
insert into myemp(empno,ename,job,hiredate,sal,comm,deptno)
values(124,'王五','清洁工',to_date('2016/06/22','yyyy/mm/dd'),1000.00,500.00,10)

--更新记录
update myemp set hiredate=to_date('2015-09-12','yyyy-mm-dd') where ename='张三';

--删除记录
delete from myemp where empno=123;


-------------------2.事务处理---------------------


drop table myemp;--删除表

create table myemp as select * from emp where deptno=10;--重新复制一份表结构

select * from myemp;

delete from myemp where empno=7934;--删除记录
update myemp set comm=1000 where empno=7782;

rollback;--回滚删除、更新的记录

commit;--提交,(促使数据库删除、更新立刻生效)

 备注说明:  

从当前窗口发现,此数据已经删除了,但是打开第二个窗口,查询会发现删除的记录还存在,
证明没有删除,这就是oracle数据库中的事物处理概念:

事物处理:所谓事物处理,就是保证数据操作的完整性,所以操作要么同时成果,要么同时失败,

在oracle中,对每一个连接到数据库的用户都会建立一个session。一个session 对数据库的修改、删除;不会立刻反映到数据库的真实数据之上,是允许回滚rollback,
只有当session在提交commit所有操作之后,书库再回做出真正的修改。

提交事务:commit; (如果数据已经被提交了,则肯定无法回滚)
回滚事务:rollback

死锁: 一个session如果更新了数据库中某条记录,而其他siession的用户是无法离开更新的,要等待对方提交完成,才能进行更新。

原文地址:https://www.cnblogs.com/brant/p/5608955.html