区别:1、视图是已经编译好的sql语句。而表不是
2、视图没有实际的物理记录。而表有。
3、表是内容,视图是窗口
4、表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时四对它进行修改,但视图只能有创建的语句来修改
5、表是内模式,视图是外模式
6、视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。
7、表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。
8、视图的建立和删除只影响视图本身,不影响对应的基本表。
可以通过select查询视图的方式,来判断视图是否存在。--1.假设现在新建一个视图
create or replace force view test_view as
select * from dept
--2.通过count(1)查出来的是,该视图中记录的总条数
select count(1) from test_view
--3.如果要判断该视图是否存在,直接查看该视图中的内容即可
select * from test_view
-- 如果有字段等内容,说明视图是存在的。反之,无法成功编译,因为视图不存在。
mysql 存储过程中建立视图的问题定义视图,方便快捷查询
create view v_user
as
select * from table_user
定义过程,定义好业务逻辑 一次编译,反复执行,效率高,速度快
create procedure p_find_user( sname varchar)
as
begin
select pss from table_user where name =sname
end
定义触发器,方便对插入数据的整理,约束,或建议其他关联关系。
create trigger tri_table
before insert on table_name
for each row
begin
:new.id:=seq_table_name.nextval
end
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)