zoukankan      html  css  js  c++  java
  • 5.windows-oracle实战第五课 --事务、函数

    什么是事务

           事务用于保证数据的一致性,它由一组相关的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;
     
     
  • 相关阅读:
    【.Net--资料】
    【系统Configmachine.config与自己的应用程序的App.config/Web.Config配置节点重复】解决方法
    【AutoMapper】实体类间自动实现映射关系,及其转换。
    【EntityFramwork--处理数据并发问题】
    【IOC--Common Service Locator】不依赖于某个具体的IoC
    Android学习——碎片Fragment的使用
    Android学习——利用RecyclerView编写聊天界面
    Android学习——控件ListView的使用
    Android学习——LinearLayout布局实现居中、左对齐、右对齐
    Android学习——Button填充颜色及实现圆角
  • 原文地址:https://www.cnblogs.com/dangjingwei/p/12093918.html
Copyright © 2011-2022 走看看