欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

sql 刷新視圖

 更新時(shí)間:2009年07月18日 14:54:40   作者:  
視圖會(huì)保存元數(shù)據(jù),列,安全,以及依賴等信息,如果我們把基礎(chǔ)表的架構(gòu)更改了,并不會(huì)直接反映到視圖上來;更改架構(gòu)后,使用sp_refreshview存儲(chǔ)過程刷新視圖的元數(shù)據(jù)是一個(gè)好習(xí)慣;
比如我們創(chuàng)建了一個(gè)表T1和一個(gè)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)實(shí)實(shí)踐中,要避免在視圖中的SELECT語句中使用*,在這只是演示。如果你查詢視圖V1就會(huì)出現(xiàn)以下結(jié)果:
 

接下來,我們對表T1添加一列col3:
復(fù)制代碼 代碼如下:

ALTER TABLE T1 ADD col3 INT

然后再次查詢視圖V1,你想這時(shí)的結(jié)果是三列呢,還是而列呢?答案是二列。T1架構(gòu)的改變,并沒有影響到視圖的元數(shù)據(jù)中,這時(shí)候,如果我們要刷新一下視圖V1,我們就可以用:EXEC sp_refreshview V1 命令, 再次查詢,V1的結(jié)果就是三列了。

相關(guān)文章

最新評論