美文网首页
Oracle_约束_序列_事务_视图_mergeinto

Oracle_约束_序列_事务_视图_mergeinto

作者: MagicalGuy | 来源:发表于2018-11-27 18:58 被阅读0次

    数据库事务:
    它是数据库中执行一个逻辑单元的多个操作,在同一个逻辑单元中,这些操作要么全部执行成功,要么全部执行失败。
    事务的四个特性:原子性、一致性、隔离性、持久性
    commit:提交事务
    rollback:回滚事务

    通常可以用GUID或UUID 做主键


    image.png

    序列:序列常用来生成主键
    create sequence 序列名
    minvalue 最小值
    maxvalue 最大值
    start with 起始位置
    increment by 每次增长多长
    cache 缓存


    image.png

    序列中的下一个值:序列名.nextval
    序列的当前值:序列名.currval
    序列的应用:


    image.png

    约束:主键约束、外键约束、非空约束、唯一约束、检查约束
    主键约束:主键唯一并且不能为空
    外键约束:保证多表数据的完整性
    非空约束:约束某个字段不能为空,在创建表的时候,可以在数据类型后加“not null”来规定该字段不能为空,创建表之后还可以通过修改表结构来加入唯一约束。


    image.png

    唯一约束:
    alter table 表名add constraint 约束名 unique(列名)


    image.png

    检查约束:
    alter table 表名add constraint 约束名check(条件)

    视图:视图是多张表的逻辑表,它实际上就是一条select语句。视图可以看成是表结构上的数据的集合或组合。

    create [or replace] view 视图名
    as
    select语句。。。。
    [with read only | with check option]

    image.png

    or replace:如果正在创建的视图名在当前数据库中已存在,那么替换。
    with read only: 如果视图是由一张表创建的,可以对其进行DML操作,如果在单表的视图中加入with read only,那么该视图就不可以进行DML操作,如果执行,会报如下错误

    image.png

    with check option:如果可以对单表的视图进行DML操作,那可以加入with check option,用来根据创建视图的条件来限制DML操作的数据。

    image.png

    merge into语句:
    通常用在,当某某情况时更新数据,否则插入数据。
    merge into 表名 别名 --目标表
    using(sql语句|表|视图) 别名
    on (条件)
    when matched then
    update set
    when not matched then
    insert values()

    image.png

    相关文章

      网友评论

          本文标题:Oracle_约束_序列_事务_视图_mergeinto

          本文链接:https://www.haomeiwen.com/subject/zqsnqqtx.html