什么是事务

       事务用于保证数据的一致性,它由一组相关的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. (转) Windows如何区分鼠标双击和两次单击

    Windows如何区分鼠标双击和两次单击 http://lbsloveldm.blog.hexun.com/12212875_d.html 在Windows平台上,鼠标左键的按下.松开.快速的两次点击 ...

  2. 关于Promise的异步依次函数调用

    在Promise中async用于定义一个异步函数(可不写),该函数返回一个Promise. 如果async函数返回的是一个同步的值,这个值将被包装成一个理解resolve的Promise, 等同于re ...

  3. RecyclerView使用介绍

    来源 http://jinyudong.com/2014/11/13/Introduce-RecyclerView-%E4%B8%80/ 编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用,你可以在 ...

  4. JMP CALL RET

    一.JMP指令(修改EIP的值)(第一个修改EIP的指令) 三种方法 :JMP 立即数 JMP  寄存器 JMP  内存 EIP 之前介绍过,EIP存放的值就是cpu下一次要执行的地址 1.之前学过要 ...

  5. 64.Python中ORM查询条件:in和关联模型

    定义模型的models.py文件中示例代码如下: from django.db import models class Category(models.Model): name = models.Ch ...

  6. Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年

    计算年.月.日需要安装组件包 pip install python-dateutil 当前日期时间 import datetime print datetime.datetime.now() # 20 ...

  7. Windows系统JDK环境变量配置

    一.环境准备 Windows10 jdk1.8.0_144 二.下载并安装JDK 下载 密码: r5ym 三.环境变量配置 首先,打开控制面板>系统和安全>系统,点击高级系统设置进入系统属 ...

  8. springboot-war

    预览 1.pom.xml 与springboot-jar-web的区别是: 将 <packaging>jar</packaging> 替换成: <packaging> ...

  9. (递归)Hanoi Tower

    #include<stdio.h>void move(int n,char a,char b){ printf("将第%d个盘子从%c移动到%c\n",n,a,b);  ...

  10. 2020/2/4 PHP代码审计之会话认证漏洞

    0x00 会话认证漏洞简介 会话认证是个非常大的话题,涉及各种协议和框架,如cookie.session.sso.oauth.openid等. 而其中最常使用的是Cookie和Session,他们都能 ...