ORACLE下的视图和同义词
1.视图
视图就是一个查询的结果,可能包含一张表或者多张表的信息,创建视图其目的在于,便于查看表中的信息。视图只是在逻辑上存在。
1.1创建/修改视图
创建视图一定要有CREATE VIEW权限,基本语法为:
|   creare view 视图名 AS -- 创建视图 CREATE VIEW view_name AS SELECT * FROM dept WHERE deptno<20; -- 修改视图 CREATE OR REPLACE VIEW view_name AS SELECT * FROM dept WHERE deptno<20; -- 去除视图的相关约束  | 
1.2使用视图
查看视图
|   -- 查看所有视图  | 
1.3 删除视图
|   DROP VIEW 视图名  | 
2.同义词
同义词是现有对象的一个别名,用于简化sql语句、隐藏对象的名称和所有者、提供对对象的公共访问。同义词有私有同义词和公有同义词,公有同义词可被所有的数据库用户访问,私有同义词只能在其模式(所属用户)内访问,且不能与当前模式的对象同名。举个例子:
|   -- 查看所有表 select * from table --- 查看当前用户下的表 select * from tab 此处的tab就是一个同义词  | 
2.1 创建/修改同义词
创建同义词必须具有CREATE [PUBLIC] SYNONYM权限
|   CREATE SYNONYM 同义词名 FOR 视图名; --- 创建私有同义词 create synonym syn_emp for emp; --- 查看同义词 select * from syn_emp; --- 创建共有同义词 create public synonym syn_dept for dept; -- 用户没有访问基表的权限,如果为基表创建了共有同义词,那么依然看不到表信息 创建或替换现有同义词 create or replace synonym emp_syn for scott.emp;  | 
2.2删除同义词
|   --- 删除共有同义词 drop public synonym syn_dept; --- 删除私有同义词 drop synonym syn_dept;  | 
2.3 使用同义词
 多用于查询操作中,类似别名,多用于分布式数据库中
|   SELECT * FROM 同义词;  |