- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
oracle事务函数
辽宁工程技术大学电子与信息工程学院 1 Copyright ? Oracle Corporation, 2001. All rights reserved. oracle事务、函数 Oracle事务 Oracle函数 什么是事务 事务用于保证数据的一致性 它由一组相关的DML语句组成,该组语句要么全做,要么全不做。 事务的特性是用锁实现的 如:银行转账 1 Oracle事务 Oracle事务组成 一个DDL语句 一个DCL语句 一个或多个DML语句 以第一个DML语句的执行作为开始 以下面的其中之一作为结束 COMMIT或ROLLBACK语句 DDL或DCL语句(自动提交) 用户会话正常结束 系统异常终了 1 Oracle事务 提交事务 在Oracle中,在内存中将为每个客户机建立工作区(PGA),客户机对数据库进行操作的事务都在工作区内完成,只有在执行commit命令后,工作区的修改内容才写入到数据库中。 这样在一个客户机没有提交事务以前,别的客户机看不到它的修改,从而保证了读取的数据库中的数据是完整的、一致的。 1 Oracle事务 自动提交事务 当执行DDL语句时会自动提交事务; 当执行DCL语句时会自动提交事务; 当退出SQL*Plus时,会自动交事务; 当会话处于autocommit状态时,每个DML语句也会自动提交。 Show autocommit; Set autocommit on/off; 1 Oracle事务 回退事务 保存点:事务中的一点,用于取消部分事务。 当提交事务时,会自动删除该事务内的所有保存点。 当执行回退时,通过指定保存点可以回退到指定的点 。 会话异常结束或系统异常会导致自动回退事务。 1 Oracle事务 回退事务的几个操作 设置保存点 : savepoint a1; 回退部分事务: rollback to a1; 回退全部事务: rollback ; 1 Oracle事务 2 Oracle函数 字符函数 lower(字符串表达式):将字符串转化为小写的格式 upper(字符串表达式):将字符串转化为大写的格式 length(字符串表达式):返回字符串的长度 substr(字符串表达式,m,n):取字符串的子串 replace(字符串,查找字符串,替换字符串) initcap(字符串):将字符串转换成每个单词以大写开头其他小写的形式 2 Oracle函数 例: 显示正好为5个字符的员工的姓名 select ename from emp where length(ename)=5; 显示所有员工姓名的前三个字符 select substr(ename,1,3) from emp; 显示所有员工的姓名,用a替换所有A select replace(ename,A,a) from emp; 列出员工姓名以字母P至S开头的所有员工的基本信息 Select * from emp where substr(INITCAP(ename),1,1) between P and S; 2 Oracle函数 数值函数 round(n,[m]): 该函数用于执行四舍五入 如果省掉m,则四舍五入到整数 如果m是正数,则四舍五入到小数点的m位后 如果m是负数,则四舍五入到小数点的m位前 Select round(55.66) from dual;? Select round(55.66,1) from dual;? Select round(55.66,-1) from dual;? 2 Oracle函数 数值函数 trunc(n,[m]) :该函数用于截取数字。 如果省掉m,就截去小数部分, 如果m是正数就截取到小数点的m位后 如果m是负数,则截取到小数点的前m位。 Select trunc(55.66) from dual;? Select trunc(55.66,1) from dual;? Select trunc(55.66,-1) from dual;? 2 Oracle函数 日期函数 date1 - date2=天数 date1 +/- 天数=date2 sysdate: 返回系统日期 last_day(日期):返回指定日期所在月份最后一天的日期 months_between(日期1,日期2) :返回两个日期之间相隔的月数 2 Oracle函数 例: 找出各月倒数第3天受雇的所有员工 select * from emp where hiredate=last_day(hiredate)-2; 对于每个员工,显示其加入公司的天数 select trunc(sysdate-hiredate) from emp; 显示满10年服务年限的员工的姓名
文档评论(0)