什么视图允许更新操作,什么视图不允许更新操作。 SQL题
发布网友
发布时间:2022-03-22 17:06
我来回答
共2个回答
热心网友
时间:2022-03-22 18:35
(1)
若视图是基于多个表使用联接操作而导出的,那么对这个视图执行更新操作时,每次只能影响其中的一个表。
(2)
若视图导出时包含有分组和聚合操作,则不允许对这个视图执行更新操作。
(3)
若视图是从一个表经选择、投影而导出的,并在视图中包含了表的主键字或某个候选键,这类视图称为‘行列子集视图’。对这类视图可执行更新操作。
热心网友
时间:2022-03-22 19:53
视图本身是不保存数据的,每次对视图查询,会直接连到表上查询
但是你这个问题,要根据你的视图语句来做具体判断的
比如视图里有where条件,有group
by等聚合函数等的话,原表数据变化了,视图的数据也有可能不变化。
举个例子吧:
a表
id
type
name
1
aa
张三
2
bb
李四
如果视图是:
create
view
v_tab
as
select
*
from
a
where
type
=
'aa'
那这样的话,在a表里如果插入一条type
=
‘bb’的数据,视图的数据就不会有变化
不知道这样描述楼主清楚没