1、视图(View)创建使用,视图(View)实际上是一张或者多张表上的预定义查询,这些表称为基表。从视图中查询信息与从表中查询信息的方法完全相同。只需要简单的SELECT?FROM即可。
2、OR REPLACE:如果视图已和橘经存在,则替换旧视图。
3、FORCE:即使基表不存在,也可橡余以创建该视图,但是该视图不能正常使用,当基表创建成功后,视图才能正常使用。
4、NOFORCE:如果基表不存在,无法创建视图,该项是默认选项。
5、 WITH READ ONLY:默认可以通过视图对基表执行增删改 *** 作,但是有很多在基表上的限制(比如:基表中某列不能为空,但是该列没有出现在视图中,则不能通过视图执行insert *** 作唤如团),WITH READ ONLY说明视图是只读视图,不能通过该视图进行增删改 *** 作。现实开发中,基本上不通过视图对表中的数据进行增删改 *** 作。
视图具有以下优点:可以限制用户只能通过视图检索数据。这样就可以对最终用户屏蔽建表时底层的基表。可以将复杂的查询保存为视图。可以对最终用户屏蔽一定的复杂性。 限制某个视图只能访问基表中的部分列或者部分行的特定数据。这样可以实现一定的安全性。从多张基表中按一定的业务逻辑抽出用户关心的部分,形成一张虚拟表。
如果是简单视图可以直接插入数据,跟表的弯局 *** 作是一样的;如果是复杂李敬的试图(视图定义中有分组哪闹慎,聚合函数,多表关联等)不能直接插入数据,可以通过创建一个 INSTEAD 类型的触发器来 *** 作,将要插入的数据插入到组成试图的各个表中 即用你触发器中的具体 *** 作来代替你直接插入数据到视图的 *** 作;
这个你得先弄明白什么叫视图说白了,视图就是一个或多个表根据一定的sql语句生成的一个动态的东西
好比肢扰高你有两个表
表1
id name
1 aa
表2
id name
2 bbb
视图是
create view view1 as select * from 表1 union all
select * from 表2
视图的内容是历尺
id name
1 aaa
2 bbb
当表李扒1或表2里增加数据的时候,这个视图随着表是动态变化的,所以,视图不可以做增,删,改的 *** 作
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)