首页 > 数据库 > Oracle > Oracle索引、视图
--创建索引
--1.自动:当表上定义一个 primary key 或者 unique 束缚条件时,数据库自动创建一个对应的全部
--2.足动:用户可以或许足动创建索引以减速查询
--足动为表 tb_student 的 name 字段上创建索引
create index index_tb_student_name
on tb_student(name);
select * from tb_student where name = "Jack";
--建议:
--在经常查询的字段上里创建索引,
--不需要在全部字段上里成立索引
--(果为oracle需要对索引进止额中的维护,索引应用久了会发生索引碎片,而影响查询 成绩)
--假如一张表字段很少,不建议成立索引
--视图的好处
--1.可以或许限制对数据的拜候
--2.可以或许使复杂的查询变得简单
--3.提供数据的自力性
--4.提供了对不异数据的不同表示
select * from scott.emp;
创建视图 ORA-01031: 权限不敷
视图就是一种虚拟的表,为了便当把各种表所需要的字段与出来创建的一张新的虚拟表。视图的增删改需要触收器的合营。
假如只是查找同一筹划中的表来创建视图,则只需要该用户有create view的权限便可创建。
可是假如创建的视图触及到要查询其余筹划中的表,这时我们就需要select any table的权限了。
授权命令:
cmd
cmd
第一步:
sqlplus "/as sysdba
第二步:
grant select any table,create view to songlitao;
--创建简单的视图(一张表查询)
create view vi_emp
as
select empno 编号,ename 姓名,job 职位,sal 薪水,comm 奖金,deptno 部分
from scott.emp;
--查看简单视图
select * from vi_emp;
--创建复杂视图(两张表查询)
create view vi_emp2
as
select e.ename 姓名,e.job 职位,e.sal 薪水, e.comm 奖金,d.deptno 部分
from scott.emp e,scott.dept d
where e.deptno=d.deptno;
select * from vi_emp2;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22955252/viewspace-1117456/ ,如需转载,请注明出处,否则将追究法律责任。