比如我們創(chuàng)建了一個表T1和一個T1的視圖V1,然后更改T1,再看V1的結(jié)果:
首先創(chuàng)建表T1:
復(fù)制代碼 代碼如下:
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
然后創(chuàng)建T1的視圖V1:
復(fù)制代碼 代碼如下:
CREATE VIEW V1
AS
SELECT * FROM T1
在現(xiàn)實實踐中,要避免在視圖中的SELECT語句中使用*,在這只是演示。如果你查詢視圖V1就會出現(xiàn)以下結(jié)果:
接下來,我們對表T1添加一列col3:
復(fù)制代碼 代碼如下:
ALTER TABLE T1 ADD col3 INT
然后再次查詢視圖V1,你想這時的結(jié)果是三列呢,還是而列呢?答案是二列。T1架構(gòu)的改變,并沒有影響到視圖的元數(shù)據(jù)中,這時候,如果我們要刷新一下視圖V1,我們就可以用:EXEC sp_refreshview V1 命令, 再次查詢,V1的結(jié)果就是三列了。
您可能感興趣的文章:- MySQL入門教程(七)之視圖
- MySQL中視圖的使用及多表INNER JOIN的技巧分享
- mysql觸發(fā)器實現(xiàn)oracle物化視圖示例代碼
- 基于mysql事務(wù)、視圖、存儲過程、觸發(fā)器的應(yīng)用分析
- MySQL筆記之視圖的使用詳解
- MySQL 視圖 第1349號錯誤解決方法
- SQL SERVER先判斷視圖是否存在然后再創(chuàng)建視圖的語句
- 存儲過程解密(破解函數(shù),過程,觸發(fā)器,視圖.僅限于SQLSERVER2000)
- sql server判斷數(shù)據(jù)庫、表、列、視圖是否存在
- MySQL 視圖的基礎(chǔ)操作(五)