什么是事务

       事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部失败。

事务和锁

       当执行一个事务dml的时候,oracle会被作用的表上加锁,防止其他用户改表的结构。

保存点是一个回退机制,个数没有限制
savepoint a1;
delete from emp where empno=9996;
select *from emp;
savepoint a2;
delete from emp where empno=9990;
rollback to a2;
rollback to a1;

如果commit提交事务,会确认事务的变化,结束事务,删除保存点,释放锁,其他会话将可以查看事务变化的新数据。如果不提交,关闭后,会自动提交;全部取消 rollback。

只读事务:可以确认用户只能取得某时间点的数据。尽管其他会话可能提交新的事务,但是只读事务将不会取得最新数据的变化,从而保证取得特定时间点的数据信息。set transaction read only

常见字符函数:

    lower(char):将字符串转化为小写的格式

    upper(char):将字符串转化为大写的格式

    length(char):返回字符串的长度

    substr(char ,m,n):取字符串的子串

    replace(char1,search_string,replace_string):替换

显示正好有5个字符的员工的要求

显示所有员工姓名的前三个字符

以首字符大写的方式显示所有员工的姓名

以首字母小写方式显示所有员工的姓名

显示所有员工的姓名,用“我是A” 替换所有"A"

常见数字函数

round(char,m)  四舍五入

      trunc(char,m)小数点后面通通舍去

      floor(char)   往下取整

      ceil(char)     向上取整

       mod(m,n)取模

 
日期函数用于处理date类型的数据,oracle默认是dd-mon月-yy
 
(1)sysdate:该函数返回系统时间
(2)add_months(d,n) 加月份的函数
(3)last_day:返回指定日期所在月份的最后一天
 
查找已经入职400月多的员工
select *from emp where sysdate>add_months(hiredate,400);

显示满10年的员工姓名和受雇时间
select *from emp where sysdate>=add_months(hiredate,12*10); 
对于每个员工,显示加入公司的天数
select trunc(sysdate-hiredate) "入职天数",ename from emp;

找出各个月份倒数第三天受雇的所有员工
select hiredate,ename from emp where last_day(hirddate)-2=hiredate

 
转换函数:用于将数据类型从一种类型转换成另外一种;如将“10” 转换成10;将10转换成10。
函数
to_date('1992-12-12','yyyy-mm-dd') 将字符串转化成date类型的数据 ,在插入日期的时候可以用到。
to_char   
     1)显示更加细致灵活   
     2)显示指定的货币符号(用到在查)
时分秒都显示出来
select ename,to_char(hiredate,'yyyy-mm-dd hh24:mi:ss')  from emp;

显示12月份入职的员工
select *from emp where to_char(hirdedate,'mm') =12;

 
 

5.windows-oracle实战第五课 --事务、函数的更多相关文章

  1. Oracle笔记(五) 单行函数

    虽然各个数据库都是支持SQL语句的,但是每一个数据库也有每一个数据库自己所支持的操作函数,这些就是单行函数,而如果要想进行数据库开发的话,除了要会使用SQL之外 ,就是要多学习函数. 单行函数主要分为 ...

  2. TensorFlow实战第五课(MNIST手写数据集识别)

    Tensorflow实现softmax regression识别手写数字 MNIST手写数字识别可以形象的描述为机器学习领域中的hello world. MNIST是一个非常简单的机器视觉数据集.它由 ...

  3. [妙味JS基础]第五课:函数传参、重用、价格计算

    知识点总结 函数传参,传的参数=数据类型(即:数值.字符串.布尔.函数.对象.未定义) 通过传参来重用代码 1.尽量保证 HTML 代码结构一致,可以通过父级选取子元素 2.把核心主程序实现,用函数包 ...

  4. oracle学习篇五:组函数,分组统计

    常用组函数: 1.ccount() 求出全部记录数. 2.max() 求出一组最大值 3.min() 求出一组最小值 4.avg() 求出平均值 5.sum() 求和 --1.统计员工数量: sele ...

  5. 【Cocos游戏实战】功夫小子第五课之帮助场景和选关功能的实现

    功夫小子之帮助场景和选关功能的实现 转载请注明出处:http://blog.csdn.net/suool/article/details/46661231 本节课的视频教程地址是: hmsr=teac ...

  6. 【C语言探索之旅】 第二部分第五课:预处理

    内容简介 1.课程大纲 2.第二部分第五课: 预处理 3.第二部分第六课预告:   创建你自己的变量类型 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语 ...

  7. Adafruit的树莓派教程第五课:使用控制电缆

    Adafruit的树莓派教程第五课:使用控制电缆 时间 2014-05-09 01:11:20 极客范 原文 http://www.geekfan.net/9095/ 主题 Raspberry PiM ...

  8. NeHe OpenGL教程 第三十五课:播放AVI

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  9. NeHe OpenGL教程 第十五课:纹理图形字

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

随机推荐

  1. python matplotlib给图中的点加标签

    在写论文用到matplotlib画散点图,想着如果能把每个点对应的ID打在点的旁边就好了,经过一番搜索,最后找到了方法. 首先是打点,先把所有的点画好,举例如下: p1 = ax.scatter(X[ ...

  2. TypeScript 文件引入 Html (ts import html webpack)

    我们的目标是把html引入ts文件,webpack打包时就能把html打进js文件,减少文件加载啦 1 安装 text-loader npm install text-loader --save-de ...

  3. zookeeper 安装及集群

    一.zookeeper介绍 zookeeper是一个中间件,为分布式系统提供协调服务,可以为大数据服务,也可以为java服务. 分布式系统,很多计算机组成一个整体,作为一个整体一致对外并处理同一请求, ...

  4. 使用软件模拟spi 时序时注意点

    软件模拟 spi 时序有以下几个点需要注意: cs 使能后到第一个 sck 边沿需要延时. 最后一个sck 边沿到下一个 cs 需要延时. sck 的高电平和低电平本身需要维持时间. mosi 需要先 ...

  5. 寒假day26

    根据已有数据爬取新数据充实人才库

  6. [CISCN 2019 初赛]Love Math

    0x00 知识点 PHP函数: scandir() 函数:返回指定目录中的文件和目录的数组. base_convert() 函数:在任意进制之间转换数字. dechex() 函数:把十进制转换为十六进 ...

  7. torch文档学习笔记

    下面为官方文档学习笔记    http://pytorch.org/docs/0.3.0/index.html 1.torch.Tensor from __future__ import print_ ...

  8. 快速排序_python

    def quicksort(ls,result): if len(ls)<=1: result+=ls # return result else: flag=ls[0] left=[x for ...

  9. python clickZan

    import pyautogui,time,random pyautogui.PAUSE = 3 pyautogui.FAILSAFE = True width, height = pyautogui ...

  10. Mysql时间范围分区(RANGE COLUMNS方式)

    1.创建测试表 CREATE TABLE `t_test` ( `id` ), `dates` DATETIME ); ALTER TABLE t_test ADD PRIMARY KEY (id); ...