一、序列sequence

sequence是Oracle数据库中一种特殊的对象,能够产生连续的整数值,可以为数据库中多个对象共同使用,主要用于作为主键值。
1.创建序列
 起始值 start with:1
 步长:increment by:1
 最大值:maxvalue:100
 最小值:minvalue:1
 循环:cycle|nocycle
 缓冲区:cache 20|nocache(默认20)
  create sequence s1;
  注: a) 各可选项位置不先后次序
     b) 当increment by n为正数时,
          默认maxvalue为: 1E+27 , 默认minvalue为: 1
          当increment by n为负数时,
          默认maxvalue为: -1 , 默认minvalue为: -1E+26
          increment by必须为非零整数,
          加不加NOMAXVALUE效果一样,这本身是默认值
     c) CACHE n可以每次预产生十五个,二十个,放到内存里,提高性能。
          不写默认CACHE 20个
     d) cycle用于循环,到了最大数后循环(不建议使用)
2.使用序列
 nextval:取序列下一个值
 currval:去序列当前值 
    select s1.nextval from dual;
    select s1.currval from dual;
  
    create sequence s2
    start with 100
    increment by 2;
  
    select s2.nextval from dual;
    select s2.currval from dual;
  注:先执行nextval才会启用,启用后才能查询到当前值
    //序列和表的关系
    insert into s_stu(id,name)
    values(s2.nextval,'rui');
3.修改序列
ALTER SEQUENCE sequence
 [INCREMENT BY n]
 [{MAXVALUE n | NOMAXVALUE}]
 [{MINVALUE n | NOMINVALUE}]
 [{CYCLE | NOCYCLE}]
 [{CACHE n | NOCACHE}]
        注: sequence不能修改起始值
    alter sequence s_stu_id
    increment by -2;
4.删除序列
   drop sequence sequenceName

二、视图view

1.视图
 视图是一个或多个表的部分数据,它可以像表一样进行CRUD(Create、Retrieve、Update、Delete)操作,但没有具体的存储数据结构,它以一个select语句的形式存在数据库中。
   本质: 一条有名字的select语句
   表现: 一到多张表的部分内容
   作用:提高检索的效率
      表 10000条数据 
      经常用的10条数据查询出来放在视图中。从数据字典表中查询创建的视图:
   select view_name
   from user_views;
2.创建视图 
 create view 视图名字
 as 子查询
   eg:
    //授给briup创建视图的权限
      conn system/system;      grant create view to briup;
  
    create view v1
    as
  .........