我已经从表中创建了一个视图
CREATE VIEW dp_val_view
AS
select dp_id,dp_id,dp_s,dp_n,dp_ord,id,answer,date,eny_date
from
(
select select dp_id,dp_id,dp_s,dp_n,dp_ord,id,answer,date,eny_date,row_number(*)
over (partition by dp_id ,dp_ord ,id order by eny_date desc ) as rn
from values
) dt
where rn < 2
查看已创建成功,我得到的查询成功返回没有结果...之后,当我尝试访问表数据时,它正在刷新表。请问表格中的值是否已插入到后台视图中?
答案 0 :(得分:0)
视图只是一个&#34;快捷方式&#34;查询。没有数据存储在(常规)视图中,也没有数据插入&#34;当你运行create view
时。
并且因为create view
仅将查询存储在数据库中,所以它不会&#34;返回&#34;任何与create table
一样的结果都不会从该表返回任何结果。
当您选择表单视图时,数据库将运行基础查询。它与您直接运行查询完全相同。
答案 1 :(得分:0)
视图只是包装器,或者换句话说我们可以说更长查询的别名。
在查询视图时,没有任何内容插入到视图中,在内部它将执行您指定的选择查询。
中有一个很好的解释视图没有物理实现。相反,每次在查询中引用视图时都会运行查询。