三九宝宝网宝宝教育学龄段教育

Oracle怎么显式开启事务开始事务跟锁有什么关系在存储过程中有

02月27日 编辑 39baobao.com

[对律师事务所从业人员个人所得税的征收管理](1)律师个人出资兴办独资和合伙性质的律师事务所,作为出资律师的个人经营所得,比照“个体工商户的生产、经营所得”应税项目征收个人所得税。在计算其经营所得时,出资律师本人...+阅读

oracle使用语句savepoint sp_begintran开启显式事务,锁本身和事务是没有关系的,只要是数据库的操作都会产生锁。处于事务中的SQL语句只有这个事务提交(commit)之后,事务中的SQL语句影响的表记录上的锁才会释放。锁常见有共享锁(select语句产生)和排它锁(DML语句产生),如果一个表上加载有共享锁,还可以叠加共享锁,但不能叠加排它锁。如果一个表上加载有排他锁,就什么锁都不能加了,也就是说如果DML语句占用过多的时间,这些数据库效率就不高,就需要优化,当然select语句性能低了也不行。每个存储过程可以不用显式事务,它本身就为你开启了一个隐式事务,如果需要开启显示事务,就通过savepoint sp_begintran开启,无论是不是显式还是隐式事务,你都得通过commit work提交事务,通过exception捕捉SQL语句异常,在异常发生时需要回滚事务(rollback work)。

请高手们讲讲数据库中事务的使用吧!

oracle的数据语音分为数据定义语言(DDL)、数据控制语言(DCL)和数据操纵语言(DML)。其中的DML语言会生成事务,其他两种语言只要执行,事务就会结束。简单的说DML语言可以建立事务,DDL和DCL不能建立事务。DML语言包括几个命令,例如 select insert delete update等等,这些命令执行后,当前用户的显示信息是更改了,但是其他人访问你改的表的时候数据并没有更改,需要使用commit确认后才能更改。如果当前用户在没有执行commit前反悔操作了,那使用rollback命令可以回退到执行操纵语句之前,但是如果已经执行了commit语句是无法回退的。例如你delete了一行数据,你确定就使用commit命令,后悔想回去就使用rollba命令。无论你使用确认还是回退都可以结束这个事务,别人就可以查看你更改后的表了。

因为事务开始后,如果不结束,是不会更改表中数据的,他把更改的结果存储在内存的缓存区中,所以如果回滚的时候断电,实际上会恢复到事务开始之前的数据。...

哪位大哥大姐能提供一个有关使用Oracle事务的例子

我自己以前写的一段小代码,我标了一些注释。这是通过jdbc访问oracle数据库的一个小例子。public class Lab16{ public static void main(String[] args){ if(args.length!=1){ System.out.println( "Usage: java com.jdbc.labs.Lab16 filename"); return; } int id = 100; String filename = args[0]; Connection con = JdbcUtil.getConnection();//从JdbcUtil工厂获得数据库连接,是自己另外写的工厂类。 PreparedStatement ps = null; ResultSet rs = null; Blob b = null; try{ //1.委托oracle为我们制造一个空的blob字段值 /* "create table t_blob(" "id number

(10) primary key,"+ "filename varchar(30) not null,"+ "blobData blob)" */ con.setAutoCommit(false);//事务开始,把自动提交关闭 String sql = "insert into t_blob values("+ "?,?,empty_blob())"; ps = con.prepareStatement(sql); ps.setInt(1,id); ps.setString(2,filename); ps.executeUpdate(); //2.将空的blob字段值读回来 sql = "select blobData from t_blob "+ "where id = ? for update"; JdbcUtil.release(ps); ps = con.prepareStatement(sql); ps.setInt(1,id); rs = ps.executeQuery(); if(rs.next()){ b = rs.getBlob

(1); } System.out.println(b); //3.将文件中的内容倒入blob对象中 InputStream in = new FileInputStream(filename); OutputStream out = b.setBinaryStream(0); byte[] content = new byte[in.available()]; in.read(content); out.write(content); in.close(); out.close(); //4.将装满数据的blob对象写入数据库 sql = "update t_blob set blobData=? " +"where id = ?"; JdbcUtil.release(rs,ps,null); ps = con.prepareStatement(sql); ps.setBlob(1,b); ps.setInt(2,id); ps.executeUpdate(); con.commit();//业务结束,提交事务 }catch(Exception e){ e.printStackTrace(); try{ if(con!=null) con.rollback();//报异常,事务回滚 }catch(Exception ex){ ex.printStackTrace();//打印异常信息 } }finally{ JdbcUtil.release(null,ps,con);//最后一定要释放资源哦 } }}

以下为关联文档:

2017年卡尔顿大学公共事务管理立思辰留学360介绍基本信息:中文名: 卡尔顿大学创办时间: 1942类别: 公立大学所属地区: 加拿大渥太华注册学生: 22000校园面积: 62公顷卡尔顿大学建于1942年,位于加拿大首都...

多让孩子参与家庭事务的决策责任感是一个人对自己、自然界和人类社会,包括国家、社会,集体、家庭和他人,主动施以积极有益作用的精神。它是每个成功者必备的素质,一个人只有具备责任感才能自觉地学习、工作...

小型律师事务所的管理完善与发展设想有哪些小型律师事务所 管理 战略定位 发展 一、 前言近些年来,有关部门对律师事务所的规模化发展一直持鼓励的态度。特别是,在中国加入了世贸组织之后,律师事务所的规模化发展成为了...

发展旅游业有什么好处?人们在开发利用过程中有什么问题随着社会的发展,旅游业已成为全球经济中发展势头最强劲和规模最大的产业之一。旅游业在城市经济发展中的产业地位、经济作用逐步增强,旅游业对城市经济的拉动性、社会就业的带...

研究会计师事务所审计风险的成因的意义是什么会计师事务所审计风险的成因分析: (一)缺少独立性较强的会计师事务所 会计师事务所往往都是通过向客户收取审计费用来办理审计业务,会计师事务所与客户之间形成了相互依赖的经济...

如何描述事务所的经营情况一、首先要为分析提供内部资料和外部资料。内部资料最主要的是企业财务会计报告,财务报告是反映企业财务状况和经营成果的书面文件,包括会计主表(资产负债表、利润表、现金流量...

中小会计师事务所的发展策略和大型会计师事务所有什么区别中小会计师事务所市场环境、内部结构、业务现状、审计质量入手,提出发展中小会计师事务所的必要性和可能性,指出在我国会计市场上,中小会计师事务所应大力发展合作战略、专业化...

请问事业单位里的乡镇社会事务服务中心这个岗位有什么特征旅游专业应该更符合吧。首先口才肯定好,还有要到处跑。 一、城乡居民最低生活保障服务 在镇城乡居民中,因各种原因造成家庭有特殊困难的,经村委会和镇人民政府审查核定后报市民...

去会计师事务所的薪水发展怎么样本土八大薪酬 1、瑞华 作为国内第一大事务所,助理起薪2800-3600 ,外地差补50一天,内地差补30一天,餐补25一天,交通补助50一天,通信补助100一月,一年到手大约4-5万; 2、立信 local 所...

推荐阅读
图文推荐