Oracle--视图,序列及索引
Oracle--视图,序列及索引
Oracle--视图,序列及索引
Goal:学会使用视图序列和索引!
- 一,视图:
- a)创建视图:
- create view 视图名称 as SQL语句;
- 拓展:当如果需要改变列名时--create view 名称(列名1,列名2,...) as SQL语句;
- 注意:列名的个数要与后面要查询的列数要相同
- b)删除视图:
- drop view 名称;
- c)描述:
- desc user_views;
- 二,序列:
- 写在前面的:序列在Oracle中有着重要的作用,因为Oracle中没有自增长列,所以必须通过序列来达到目的!
- a)创建序列:
- create sequence 序列名
- start with 起始位置
- increment by 增量大小
- maxValue 最大值(没有这些nomaxValue)
- [cycle/nocycle(是否循环)];
- eg:
- create sequence seq_stu increment by 1 start with 1 nomaxvalue nocycle;
- b)序列中的两个特殊属性:
- .nextVal :下一个序列的值
- .currVal :当前序列的值;
- 特别注意:只要用户使用了.nextVal 那么序列值就会增加一个增量,
- eg:select seq_stu.nextVal from DUAL;序列值依然会增加一个增量!
- c)两个特殊属性的使用:
- 加入学生信息表的StuId列是主键列,需要自己增长:
- insert into StuInfo values ('Stu'||to_char(Sysdate,'yyyymmdd')||seq_stu.nextVal,....);
- 最后录入的学号就会是'Stu20111218序列值'
- d)删除序列:
- drop sequence 序列名;
- 三,索引:
- 写在前面的话:Oracle中的所用的使用与SqlServer不一样,Oracle中是Oracle自行调用的,而非手动调用!
- a)索引的创建:
- create index 索引名 on 表名(列名1,列名2,..);
- b)索引的使用:
- 这个有Oralce自行调用,而非手动调用!
- c)删除索引:
- drop index 索引名称;
- d)描述用户所有索引:
- desc user_indexes;
评论暂时关闭