版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、,主讲 韩顺平,玩转oracle 10g实战教程,主讲:韩顺平,email:,主讲 韩顺平,玩转oracle 10g实战教程,oracle第3讲,1. java程序如何操作oracle 2. 如何在oracle中操作数据 3. oracle事务处理 4. sql函数的使用,主讲 韩顺平,玩转oracle 10g实战教程,java连接oracle, 介绍 前面我们一直在plsql中操作oracle,那么如何在java程序中操作数据库呢?,下面我们举例说明,写一个ShowEmp.java(jsp),分页显示emp表的用户信息。,java连接oracle odbc桥连接: Class.forName
2、(sun.jdbc.odbc.JdbcOdbcDriver); Connection ct=DriverManager.getConnection(jdbc:odbc:testsp,scott,m123);,java连接oracle jdbc连接 Class.forName(oracle.jdbc.driver.OracleDriver); Connection ct=DriverManager.getConnection(jdbc:oracle:thin:127.0.0.1:1521:myora1,scott,m123);,主讲 韩顺平,玩转oracle 10g实战教程,在oracle中操作
3、数据使用特定的格式插入日期, 使用 to_date函数 请大家思考:如何插入列带有日期的表,并按照年-月-日的格式插入?,主讲 韩顺平,玩转oracle 10g实战教程,oracle中操作数据使用子查询插入数据, 介绍 当使用values子句时,一次只能插入一行数据,当使用子查询插入数据时,一条insert语句可以插入大量的数据.当处理行迁移或者装载外部表的数据到数据库时,可以使用子查询来插入数据.,主讲 韩顺平,玩转oracle 10g实战教程,oracle中操作数据使用子查询更新数据, 介绍 使用update语句更新数据时,既可以使用表达式或者数值直接修改数据,也可以使用子查询修改数据。
4、?希望员工scott的岗位、工资、补助与smith员工一样,主讲 韩顺平,玩转oracle 10g实战教程,oracle中事务处理, 什么是事务 事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部失败。 如:网上转账就是典型的要用事务来处理,用以保证数据的一致性。 事务和锁 当执行事务操作时(dml语句),oracle会在被作用的表上加锁,防止其它用户改表表的结构.这里对我们用户来讲是非常重要的。 提交事务 当执使用commit语句可以提交事务.当执行了commit语句子后,会确认事务的变化、结束事务、删除保存点、释放锁,当使用commit语句结束事
5、务子后,其它会话将可以查看到事务变化后的新数据,主讲 韩顺平,玩转oracle 10g实战教程,oracle中事务处理, 回退事务 在介绍回退事务前,我们先介绍一下保存点(savepoint)的概念和作用.保存点是事务中的一点.用于取消部分事务,当结束事务时,会自动的删除该事务所定义的所有保存点. 当执行rollback时,通过指定保存点可以回退到指定的点,这里我们作图说明 事务的几个重要操作 1) 设置保存点 savepoint 保存点名 2) 取消部分事务 rollback to 保存点名 3) 取消全部事务 rollback,主讲 韩顺平,玩转oracle 10g实战教程,oracle中
6、事务处理, java程序中如何使用事务 在java操作数据库时,为了保证数据的一致性,比如转帐操作(图): (1)从一个帐户减掉10$(2)在另一个帐户上加入10$,我们看看如何使用事务?,主讲 韩顺平,玩转oracle 10g实战教程,oracle中事务处理 事务隔离级别, 事务隔离级别 概念:隔离级别定义了事务与事务之间的隔离程度。 ANSI/ISO SQL92标准定义了一些数据库操作的隔离级别(这是国际标准化组织定义的一个标准而已,不同的数据库在实现时有所不同):,V 可能出现 x 不会出现,主讲 韩顺平,玩转oracle 10g实战教程,oracle中事务处理 事务隔离级别, 事务隔离
7、级别 脏读(dirty read):当一个事务读取另一个事务尚未提交的修改时,产生脏读。 不可重复读(nonrepeatable read):同一查询在同一事务中多次进行,由于其他提交事务所做的修改或删除,每次返回不同的结果集,此时发生非重复读。 幻读(phantom read):同一查询在同一事务中多次进行,由于其他提交事务所做的插入操作,每次返回不同的结果集,此时发生幻读。,主讲 韩顺平,玩转oracle 10g实战教程,oracle中事务处理 事务隔离级别, oracle的事务隔离级别 ORACLE提供了SQL92标准中的read committed和serializable,同时提供了
8、非SQL92标准的read-only oracle的 read committed 说明: 这是ORACLE缺省的事务隔离级别。 保证不会脏读;但可能出现非重复读和幻像。 oracle的 serializable 说明: serializable就是使事务看起来象是一个接着一个地顺序地执行(从效果上可以这样理解) 仅仅能看见在本事务开始前由其它事务提交的更改和在本事务中所做的更改 保证不会出现脏读、不可重复读和幻读 Serializable隔离级别提供了read-only事务所提供的读一致性(事务级的读一致性),同时又允许DML操作,主讲 韩顺平,玩转oracle 10g实战教程,oracle
9、中事务处理 事务隔离级别, oracle的事务隔离级别 oracle的 read only 说明: 遵从事务级的读一致性,仅仅能看见在本事务开始前由其它事务提交的更改。 不允许在本事务中进行DML操作。 read only是serializable的子集。它们都避免了不可重复读和幻读。区别是在read only中是只读;而在serializable中可以进行DML操作,主讲 韩顺平,玩转oracle 10g实战教程,oracle中事务处理 事务隔离级别, oracle的事务隔离级设置 设置一个事务的隔离级别 设置整个会话的隔离级别,主讲 韩顺平,玩转oracle 10g实战教程,oracle中
10、事务处理 事务隔离级别, oracle的事务隔离级-案例,我们举例一个案例来说明oracle的事务隔离级别. 以对emp表进行 操作为例。,sqlplus控制台,sqlplus控制台,主讲 韩顺平,玩转oracle 10g实战教程,oracle中事务处理 事务隔离级别, oracle的事务隔离级在java程序中如何使用 connection.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED); 特别说明: java程序中Connection.XXXXXX有五个,但不是所有的数据库对有对应的五个事务隔离级别实现。 在实际工
11、作中,我们极少去修改各个数据库默认的隔离级别。,主讲 韩顺平,玩转oracle 10g实战教程,oracle中事务处理只读事务, 只读事务实际运用案例 只读事务是指只允许执行查询的操作,而不允许执行任何其它dml操作的事务,使用只读事务可以确保用户只能取得某时间点的数据。假定机票代售点每天18点开始统计今天的销售情况,这时可以使用只读事务.在设置了只读事务后,尽管其它会话可能会提交新的事务,但是只读事务将不会取得最新数据的变化,从而可以保证取得特定时间点的数据信息。(图示) 设置只读事务 set transaction read only,主讲 韩顺平,玩转oracle 10g实战教程,sql
12、函数的使用字符函数, 介绍 字符函数是oracle中最常用的函数,我们来看看有哪些字符函数: replace(char1,search_string,replace_string) instr(char1,char2,n,m)取子串在字符串的位置 ?显示所有员工的姓名,用”我是A”替换所有A“,主讲 韩顺平,玩转oracle 10g实战教程,sql函数的使用数学函数, 介绍 数学函数的输入参数和返回值的数据类型都是数字类型的.数学函数包括cos,cosh,exp,ln,log,sin,sinh,sqrt, tan, tanh,acos,asin,atan,round,我们讲最常用的 : rou
13、nd(n,m) trunc(n,m) mod(m,n) floor(n) ceil(n) 对数字的处理,在财务系统或银行系统中用的最多,不同的处理方法,对财务报表有不同的结果。,结账系统,主讲 韩顺平,玩转oracle 10g实战教程,sql函数的使用数学函数, 介绍 round(n,m) 该函数用于执行四舍五入,如果省掉m,则四舍五入到整数;如果m是正数,则四舍五入到小数点的m位后.如果m是负数,则四舍五入到小数点的m位前 trunc(n,m) 该函数用于截取数字.如果省掉m,就截去小数部分,如果m是正数就截取到小数点的m位后,如果m是负数,则截取到小数点的前m位 mod(m,n) floo
14、r(n) 返回小于或是等于n的最大整数 ceil(n) 返回大于或是等于n的最小整数 案例数据: 2345.56 45.94,?显示在一个月为30天的情况所有员工的日薪金,忽略余数.,主讲 韩顺平,玩转oracle 10g实战教程,sql函数的使用数学函数, 介绍 其它的数学函数,有兴趣的同学可以自己去看看: abs(n) 返回数字n的绝对值 select abs(-13) from dual; acos(n) :返回数字的反余旋值 asin(n): 返回数字的反正旋值 atan(n): 返回数字的反正切 cos(n) exp(n): 返回e的n次幂 log(m,n)返回对数值 power(m
15、,n):返回m的n次幂,主讲 韩顺平,玩转oracle 10g实战教程,sql函数的使用日期函数, 介绍 日期函数用于处理date类型的数据. 默认情况下日期格式是dd-mon-yy 即12-7月-78 (1)sysdate: 该函数返回系统时间 (2)add_months(d,n) (3)last_day(d):返回指定日期所在月份的最后一天 ?查找已经入职8个月多的员工 ?显示满10年服务年限的员工的姓名和受雇日期. ?对于每个员工,显示其加入公司的天数. ?找出各月倒数第3天受雇的所有员工.,主讲 韩顺平,玩转oracle 10g实战教程,sql函数的使用转换函数, 介绍 转换函数用于将
16、数据类型从一种转为另外一种.在某些情况下,oracle server允许值的数据类型和实际的不一样,这时oracle server会隐含的转化数据类型,比如: create table t1(id number); insert into t1 values(10) -这样oracle会自动的将10-10 create table t2 (id varchar2(10); insert into t2 values(1); -这样oracle 就会自动的将1-1; 我们要说的是尽管oracle可以进行隐含的数据类型的转换,但是它 并不适应所有的情况,为了提高程序的可靠性,我们应该使用转换函 数
17、进行转换,主讲 韩顺平,玩转oracle 10g实战教程,sql函数的使用转换函数, to_char 你可以使用 select ename,hiredate,sal from emp where deptno=10; 显示信息,可是,在某些情况下,这个并不能满足你的需求。 ?日期是否可以显示 时/分/秒 ?薪水是否可以显示指定的货币符号,yy: 两位数字的年份 2004-04 yyyy: 四位数字的年份 2004年 mm :两位数字的月份 8月-08 dd: 2位数字的天 30号-30 hh24: 8点20 hh12: 8点08 mi、ss -显示分钟秒,9:显示数字,并忽略前面0 0:显示数
18、字,如位数不足,则用0补齐 .:在指定位置显示小数点 ,: 在指定位置显示逗号 $: 在数字前加美元 L: 在数字前加本地货币符号 C: 在数字前加国际货币符号 G:在指定位置显示组分隔符、 D:在指定位置显示小数点符号(.) select ename,to_char(sal,L99G999D99) from emp ;,主讲 韩顺平,玩转oracle 10g实战教程,sql函数的使用转换函数, 小练习(to_char) ?显示1980年入职的所有员工 ?显示所有12月份入职的员工 to_date 函数to_date用于将字符串转换成date类型的数据. ?能否按照中国人习惯的方式年-月-日添加日期,主讲 韩顺平,玩转oracle 10g实战教程,sql函数的使用系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 营销节日茶叶促销方案(3篇)
- 通廊制作施工方案(3篇)
- 钢架制作安装施工方案(3篇)
- 防滚石施工方案(3篇)
- 风湿药品营销方案模板(3篇)
- 护理职业演讲指南
- 消化道急症患者的出院指导
- 病案室安全管理培训
- 配料熔制工安全宣传能力考核试卷含答案
- 煤间接液化分离操作工操作管理竞赛考核试卷含答案
- 危大工程安全生产条件核查
- 学堂在线人工智能原理(北大)章节测试答案
- 2025年海南省高考历史试卷真题(含答案及解析)
- 家谱编研作业指导书
- 完整版配电室维护保养方案
- 科普类文章演讲稿
- 课题申报书模板小学语文
- 索尼微单相机A7 II(ILCE-7M2)使用说明书
- 藏羌碉楼营造技艺传承-洞察及研究
- 新食品原料管理办法
- 金属非金属矿山企业安全风险分级管控与隐患排查治理双重预防机制建设规范
评论
0/150
提交评论