zoukankan      html  css  js  c++  java
  • Oracle中-事务-序列-视图-数据类型笔记

    事务(Transaction)

    • 事务(Transaction)是一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位。
    • 事务是为了保证数据库的完整性
    • 在oracle中,没有事务开始的语句。一个Transaction起始于一条DML(Insert、Update和Delete )语句,结束于以下的几种情况:
      •   用户显式执行Commit语句提交操作或Rollback语句回退。
      •   当执行DDL(Create、Alter、Drop)语句事务自动提交。
      •   用户正常断开连接时,Transaction自动提交。
      •   系统崩溃或断电时事务自动回退。
    • Commit表示事务成功地结束,此时告诉系统,数据库要进入一个新的正确状态,该事务对数据库的所有更新都以交付实施。每个Commit语句都可以看成是一个事务成功的结束,同时也是另一个事务的开始。
    • Rollback表示事务不成功的结束,此时告诉系统,已发生错误,数据库可能处在不正确的状态,该事务对数据库的更新必须被撤销,数据库应恢复该事务到初始状态。每个Rollback语句同时也是另一个事务的开始。
    • 一旦执行了commit语句,将目前对数据库的操作提交给数据库(实际写入DB),以后就不能用rollback进行撤销。
    • 执行一个 DDL ,DCL语句或从 SQL*Plus正常退出,都会自动执行commit命令。

    • 提交或回滚前数据的状态
       以前的数据可恢复
       当前的用户可以看到DML操作的结果
       其他用户不能看到DML操作的结果
       被操作的数据被锁住,其他用户不能修改这些数据
    • 提交后数据的状态
       数据的修改被永久写在数据库中.
       数据以前的状态永久性丢失.
       所有的用户都能看到操作后的结果.
       记录锁被释放,其他用户可操作这些记录.
    • 回滚后数据的状态语句将放弃所有的数据修改
       修改的数据被回退.
       恢复数据以前的状态.
       行级锁被释放.

    序列

    一、概念:
        序列(sequence):oracle专有的专有对象
    二、作用:
        产生一个自动递增的数列

    三、创建一个序列:
        create sequence seq_name
        increment by 1
        start with 1

    四、使用序列:
        序列名.nextval
        序列名.currval

    视图view

    一、定义:
        视图(view):一种不占用物理空间的虚表。

    二、作用:
        将一些查询复杂的SQL语句变为视图,便于查询

    三、语法:
    create [or replace] view v$_name
    as sub-query
    [with read only]

    四、需要注意的点:
        1.视图也可以从视图中产生
        2.我们把用于产生视图的表称之为基表
        3.我们对视图进行数据修改就是对基表进行数据修改,反之亦然
        4.不能对多张表的数据,通过视图进行修改。

    五、使用视图需要注意
        1.一般来讲,只有重复出现非常多次的SQL语句,才会创建视图
        2.数据库迁移,视图也得随之迁移,否则在新数据中是不能用的
        3.创建视图时,尽量不要带or replace

    数据类型

    数据库表字段的数据类型
    字符数据类型
    CHAR:存储固定长度的字符串  
    VARCHAR2 :存储可变长度的字符串
    数值数据类型
    NUMBER:存储整数和浮点数,格式为NUMBER(p, s)
    column_name  NUMBER        { p = 38, s = 0}
    column_name  NUMBER (p)   {整数}   column_name  NUMBER (p,s)  {浮点数}
    日期时间数据类型
    DATE:存储日期和时间数据
    TIMESTAMP:比DATE更精确  
    LOB数据类型
    BLOB:存储二进制对象,如图像、音频和视频文件
    CLOB:存储字符格式的大型对象

  • 相关阅读:
    为什么byte取值负128到127.md
    傻傻分不清?Integer、new Integer() 和 int 的面试题
    Spring 面试 7 大问题,你顶得住不?
    消息中间件ActiveMQ、RabbitMQ、RocketMQ、ZeroMQ、Kafka如何选型?
    poj 3684 Physics Experiment(数学,物理)
    poj 3320 Jessica's Reading Problem(尺取法)
    java面试
    nyoj 234 吃土豆
    Web 通信 之 长连接、长轮询(long polling)
    XHTML使用规范
  • 原文地址:https://www.cnblogs.com/vieta/p/10738526.html
Copyright © 2011-2022 走看看