• 模式对象----序列、同义词、视图


    今天学的模式对象,感觉学的不是太好,趁着自习时间来梳理一遍,以便以后查阅使用

    1、模式对象---序列(sequence)

    在创建序列之前必须先在system中给对象exam设置sequence模式

    grant create sequence  to exam; 

    创建序列: 

    -- Create sequence
               create sequence seq_course      
        minvalue 1              ---最小值
        maxvalue 9999999999999999999   ---最大值
        start with 1               ---起始值
        increment by 10            ---每次增加的数
        cache 20;               ---缓存

    检查序列:

    从序列中取出下一个值: select seq_course.nextval from dual;

    从序列中取出当前值:    select seq_course.currval from dual;

    2、     模式对象 --- 同义词(synonym)

    在创建序列之前必须先在system中给对象exam设置synonym模式

    管理员授权: grant create synonym to exam;

      创建同义词:

        create or replace synonym st for exam.course     -----exam对象--- course:是exam对象下的一张表

      使用: select * from st ;

    3、    模式对象 ---- 视图(view)

      

    create table person
    (
    name varchar(100) not null,
    birth date default sysdate,
    sex char(1) check(sex in ('m','f','n'))
    );

    insert into person values('tom1',default,'f');
    insert into person values('tom2',sysdate-100,'f');
    insert into person values('tom3',sysdate-200,'f');

    select * from person;

    select
    name,
    to_char(birth,'YYYY"年"MM"月"DD"日"') as birth,
    decode(sex,'f','女','m','男','妖') as sex
    from person;

    grant create view to exam;
    ------------------------------------------
    创建修改视图
    create or replace view v_person
    as
    select
    name,
    to_char(birth,'YYYY"年"MM"月"DD"日"') as birth,
    decode(sex,'f','女','m','男','妖') as sex
    from person;

    删除视图
    drop view v_person;

    使用视图--当成表来用(查询用)
    select * from v_person

    视图:  1、把复杂的东西简单化  2、作为一个表进行使用(隐藏部分)

  • 相关阅读:
    BZOJ3752 : Hack
    XIV Open Cup named after E.V. Pankratiev. GP of SPb
    XIII Open Cup named after E.V. Pankratiev. GP of Ukraine
    BZOJ2087 : [Poi2010]Sheep
    BZOJ2080 : [Poi2010]Railway
    BZOJ2082 : [Poi2010]Divine divisor
    Moscow Pre-Finals Workshop 2016. National Taiwan U Selection
    XIII Open Cup named after E.V. Pankratiev. GP of Asia and South Caucasus
    XIII Open Cup named after E.V. Pankratiev. GP of Azov Sea
    XIII Open Cup named after E.V. Pankratiev. GP of SPb
  • 原文地址:https://www.cnblogs.com/sdfd101/p/4954110.html
Copyright © 2020-2023  润新知