易截截图软件、单文件、免安装、纯绿色、仅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中的进程有哪些特点?
ORACLE进程可以分为用户进程、服务器进程、后台进程。
用户进程:用户连接数据库时会创建一个用户进程,该进程用于和服务器进行会话,向数据库服务器发生请求,接收数据库的响应。
服务器进程:由ORACLE数据库服务器 ......

oracle 10 创建多个数据库登录各个EM的方法

一、Enterprise Manager 10g
默认情况下,安装Oracle时,会安装EM。它是位于数据库服务器上的HTTP服务器。
(1)启动EM
要确保OracleDBConsole<SID>服务已经启动。
启动服务:emctl start dbconsole
关闭服务:emctl stop dbconsole
访问EM:http://服务器名称:端口号/em
端口号可在$ORACLE_HOME\product\10. ......

访问oracle数据库

1。web.config ----appSettings--<add key="LimsConnection" value="data source=yzlims;user id=lims;password = lims"/>
2.  c#代码中
using System.Data.OracleClient;     
public DataTable  GetLimsTimeInSpace(string S_SAMPLE_NAME, string S_SAMPLING_P_N,Date ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号