sql 刷新视图

比如我们创建了一个表T1和一个T1的视图V1,然后更改T1,再看V1的结果:


首先创建表T1:


复制代码 代码如下:

IF OBJECT_ID(‘T1’) IS NOT NULL

DROP TABLE T1

CREATE TABLE T1(col1 INT,col2 INT)

INSERT INTO T1(col1,col2) VALUES(1,2)

GO

然后创建T1的视图V1:


复制代码 代码如下:

CREATE VIEW V1

AS

SELECT * FROM T1

在现实实践中,要避免在视图中的SELECT语句中使用*,在这只是演示。如果你查询视图V1就会出现以下结果:

 

接下来,我们对表T1添加一列col3:


复制代码 代码如下:

ALTER TABLE T1 ADD col3 INT

然后再次查询视图V1,你想这时的结果是三列呢,还是而列呢?答案是二列。T1架构的改变,并没有影响到视图的元数据中,这时候,如果我们要刷新一下视图V1,我们就可以用:EXEC sp_refreshview V1 命令, 再次查询,V1的结果就是三列了。

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐