易截截图软件、单文件、免安装、纯绿色、仅160KB

关于Oracle事务的总结

关于Oracle事务的总结
1.什么是事务,事务的特性是什么?
事务的任务便是使数据库从一种状态变换成为另一种状态,这不同于文件系统,它是数据库所特用的。它的特性有四个:TOM总结为ACID即
原子性atomicity:语句级原子性,过程级原子性,事务级原子性
一致性consistency:状态一致,同一事务中不会有两种状态
隔离性isolation:事务间是互相分离的互不影响(这里可能也有自治事务)
持久性durability:事务提交了,那么状态就是永久的
对于语句级原子性,过程级原子性和事务级原子性可以查阅一下相关的信息
 
2.Oracle中的事务语句
commit=commit work 提交
rollback=rollback work 回滚
savepoint 事务的标记点,可以使一个事务在回滚到不同的阶段
set transaction  开始一个事务
rollback to savepoint 与savepoint对应
另外对于自治事务还有一个,下面会着重说一下关于自治事务
pragma autonomous_transaction 
3.关于完整性约束与事务的关系
完整性约束的模式有immediate,deferred等
语法:set constraint c_fk defereed
这对于级联更新很有帮助,如下面的tom在书中举的例子:
SQL> create table p(pk int primary key);
表已创建。
SQL> create table c
  2  (fk constraint c_fk
  3  references p(pk)
  4  deferrable
  5  initially immediate
  6  )
  7  /
表已创建。
语句: set  constraint c_fk immediate;
      set  constraint c_fk deferred;
SQL> set constraint c_fk immediate;
约束条件已设置。
SQL> update p set pk=3;
update p set pk=3
*
ERROR 位于第 1 行:
ORA-02292: integrity constraint (FTITEM.C_FK) violated - child record found
SQL> set constraint c_fk deferred;
约束条件已设置。
SQL> update p set pk=3;
已更新 1 行。
SQL> update c set fk=3;
已更新 1 行。
SQL> commit;
提交完成。
SQL> set constraint c_fk immediate;
约束条件已设置。
4.在事务中两个不好的方法
tom在书上提到了两种不好的事务使用习惯,我在工作中也是经常犯的,主要是因为对于每种数据库的认识不到位,听好多朋友说数据库你只要会用了一个其它的就可以了,经过这段时间的学习,其实我们所说的会只是说对一SQL语句等,而并不是理解,比


相关文档:

Oracle实例概念解析

Oracle数据库服务器由两部分组成,一部分是ORACLE数据库,一部分是ORACLE实例。ORACLE数据库就是存储在磁盘上的ORACLE数据文件、日志文件和控制文件。实例是用来对数据库进行操作、管理的。实例由一系列进程和内存组成。
启动数据库的时候先在内存分配一块很大的存储空间,然后启动ORACLE数据库运行时需要的一系列进程,即 ......

ORACLE体系结构 内存结构

ORACLE数据库启动时分配一大块非常大的内存区域。ORACLE运行过程中所有的操作都在这里进行。
ORACLE内存=SGA+PGA。
SGA=数据高速缓冲区+日志缓冲区+共享池+大池+Java池。
数据高速缓冲区:数据高速缓冲区是最近从数据文件中检索出来的数据,缓存起来供所有用户共享。
日志缓冲区:缓存用户对数据库执行的各类操作的重做 ......

Oracle插入数据时获取自增ID

自增字段:
表atable(id,a) id需要自增 首先建立一个序列:
create sequence seq_atable minvalue 1 maxvalue 999999999999999999 start with 1 increment by 1 nocache
有二种方式使用自增字段:
使用序列+触发器实现自增,插入语句不需要管自增字段
如:create or replace trigger trg_atable before insert on ......

Oracle基础

 
1、默认事例:
用户名:scott密码:tiger 主机字符串:本机可以为空
2、启动方法:
运行:sqlplus scott/tiger@lhd
3、SQLPLUS基本命令:
Desc:显示表、视图结构  desc 表名,视图
List:列出SQL缓冲区区中的一行或多行命令语句
Exit:退出
4、常用的数据字典(三种前缀:USER,ALL,DBA)
USER_TABL ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号