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:存储字符格式的大型对象

 

posted @ 2019-04-19 20:13  vietaKo  阅读(291)  评论(0编辑  收藏  举报