oracle更新及事务处理操作笔记

插入操作

引入:

DML:查询(DQL),更新(增加,修改,删除)

复制表操作

create table emptemp as select * from emp;
形式

·插入一条新数据
insert into tablename(column...) values(value....)
·插入子查询返回结果
insert into tablename(column...)subquery
所接触到的数据类型(varchar2,number,date)
命令行下查询表结构:desc emptemp;

更新操作

形式

·用户指定要更新的数据
使用update table _name set column=value...where condition
·基于子查询更新
使用update table _name set (column....)=(select column ... from table_name .where condition)

删除操作

语法:
delete from table_name where condition

事务处理

概念解释:
session(会话),表示每一个用户的信息,oracle中每个session拥有独立的事务操作。
事务:指的是一个session所进行的更新操作要么一起成功要么一起失败。
特性:原子性(atomicity)、一致性(consistency)、隔离性/独立性(isolation)、持久性(durability)即ACID特性。

原子性:事务最小单位。
一致性:数据库操作前后一致性。
隔离性:多个事务彼此之间不受影响。
持久性:操作结果保存到磁盘,永远不会回滚。

oracle 事务

set autocommit=off 开启事务处理,取消自动提交
set autocommit=on 关闭事务处理,打开自动提交处理。
commiit:提交事务
rollback to【回滚点】:回滚操作
savepoint 事务保存点名称:设置事务保存点

对每一个session而言,更新操作在事务没有提交时候会放到缓存区中。使用rollback可以回滚(回滚到上一次commit点)。如果删除之后提交了事务,就真正发出了更新指令。
对每一个操作设置保存点的时候,可以使用rollback to[回滚点]

锁的概念

不同session操作同一资源发生的问题。
select *from emptemp where deptno=10 for update;//数据被锁定了(只是查询出的数据被锁定了,其他的数据没有被锁定)。

行级锁

当用户执行了insert,update,delete,for update时候,隐式实现记录锁定,这种锁叫做排它锁(特点事务没提交,会一直独占锁定这些操作数据,其他事务等到锁释放后才能操作)
表级锁lock table)
lock table table_name|view_name,table_name|view_name,...in lock-mode[nowait]

nowait:当试图锁定一张表时候,如果发现已经被其他事务锁定,不会等待。
锁定常见模式:
·row share:行共享锁,在锁定期间允许其他事务并发对表进行各种操作,但是不允许任何事务对同一张表进行独占操作(禁止排它锁)
·row exclusive:行排它锁,允许用户进行任何操作,与行共享锁不同的是,它不能防止其他事务对同一张表进行手工锁定或者独占操作。
·share共享锁:只允许查询不允许修改操作。
·share row exclusive:共享排它锁,允许使用查询操作,但是不允许其他用户使用共享排它锁,for update即是这种。
·exclusive:排它锁,独占的方式锁定表,其他是允许查询,但是不能修改也不能设置任何锁。

使用共享锁:

lock table emptemp in share mode nowait;

解除锁定

锁一旦出现了,可以手工解除。(v$locked_object,v$session)
alter system kill session ‘SID,SERIAL#’;(session号)
查询锁定情况(超级管理员):
select session_id ,oracle_username,process from v\$locked_object;//查询锁对象
select sid,serial#,username,lockwait,status,from v\$session where sid in(7);//查询锁id

总结

···天道酬勤!···

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容