sql 刷新視圖
更新時(shí)間:2009年07月18日 14:54:40 作者:
視圖會(huì)保存元數(shù)據(jù),列,安全,以及依賴等信息,如果我們把基礎(chǔ)表的架構(gòu)更改了,并不會(huì)直接反映到視圖上來(lái);更改架構(gòu)后,使用sp_refreshview存儲(chǔ)過(guò)程刷新視圖的元數(shù)據(jù)是一個(gè)好習(xí)慣;
比如我們創(chuàng)建了一個(gè)表T1和一個(gè)T1的視圖V1,然后更改T1,再看V1的結(jié)果:
首先創(chuàng)建表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
然后創(chuàng)建T1的視圖V1:
CREATE VIEW V1
AS
SELECT * FROM T1
在現(xiàn)實(shí)實(shí)踐中,要避免在視圖中的SELECT語(yǔ)句中使用*,在這只是演示。如果你查詢視圖V1就會(huì)出現(xiàn)以下結(jié)果:
接下來(lái),我們對(duì)表T1添加一列col3:
ALTER TABLE T1 ADD col3 INT
然后再次查詢視圖V1,你想這時(shí)的結(jié)果是三列呢,還是而列呢?答案是二列。T1架構(gòu)的改變,并沒(méi)有影響到視圖的元數(shù)據(jù)中,這時(shí)候,如果我們要刷新一下視圖V1,我們就可以用:EXEC sp_refreshview V1 命令, 再次查詢,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語(yǔ)句中使用*,在這只是演示。如果你查詢視圖V1就會(huì)出現(xiàn)以下結(jié)果:
接下來(lái),我們對(duì)表T1添加一列col3:
復(fù)制代碼 代碼如下:
ALTER TABLE T1 ADD col3 INT
然后再次查詢視圖V1,你想這時(shí)的結(jié)果是三列呢,還是而列呢?答案是二列。T1架構(gòu)的改變,并沒(méi)有影響到視圖的元數(shù)據(jù)中,這時(shí)候,如果我們要刷新一下視圖V1,我們就可以用:EXEC sp_refreshview V1 命令, 再次查詢,V1的結(jié)果就是三列了。
您可能感興趣的文章:
- MySQL入門(mén)教程(七)之視圖
- MySQL中視圖的使用及多表INNER JOIN的技巧分享
- mysql觸發(fā)器實(shí)現(xiàn)oracle物化視圖示例代碼
- 基于mysql事務(wù)、視圖、存儲(chǔ)過(guò)程、觸發(fā)器的應(yīng)用分析
- MySQL筆記之視圖的使用詳解
- MySQL 視圖 第1349號(hào)錯(cuò)誤解決方法
- SQL SERVER先判斷視圖是否存在然后再創(chuàng)建視圖的語(yǔ)句
- 存儲(chǔ)過(guò)程解密(破解函數(shù),過(guò)程,觸發(fā)器,視圖.僅限于SQLSERVER2000)
- sql server判斷數(shù)據(jù)庫(kù)、表、列、視圖是否存在
- MySQL 視圖的基礎(chǔ)操作(五)
相關(guān)文章
mssql server .ldf和.mdf的文件附加數(shù)據(jù)庫(kù)的sql語(yǔ)句
mssql server .ldf和.mdf的文件附加數(shù)據(jù)庫(kù)的sql語(yǔ)句...2007-07-07
sql語(yǔ)句將數(shù)據(jù)庫(kù)一條數(shù)據(jù)通過(guò)分隔符切割成多列方法實(shí)例
最近工作中遇到數(shù)據(jù)表中有一列數(shù)據(jù),然后需要將該列數(shù)據(jù)分成三列,下面這篇文章主要給大家介紹了關(guān)于sql語(yǔ)句將數(shù)據(jù)庫(kù)一條數(shù)據(jù)通過(guò)分隔符切割成多列的相關(guān)資料,需要的朋友可以參考下2023-03-03
SQLSERVER編譯與重編譯發(fā)生場(chǎng)景及重用的利弊介紹
本文將介紹編譯的含義;執(zhí)行計(jì)劃重用的利弊以及重編譯的發(fā)生場(chǎng)景等等,為您學(xué)習(xí)SQLSERVER編譯與重編譯打下很好的基礎(chǔ),感興趣的朋友可以了解下2013-01-01
SQLServer 2008 CDC功能實(shí)現(xiàn)數(shù)據(jù)變更捕獲腳本
這篇文章主要介紹了使用SQLServer 2008的CDC功能實(shí)現(xiàn)數(shù)據(jù)變更捕獲的腳本,大家參考使用2013-11-11
SQL Server 索引結(jié)構(gòu)及其使用(二) 改善SQL語(yǔ)句
很多人不知道SQL語(yǔ)句在SQL SERVER中是如何執(zhí)行的,他們擔(dān)心自己所寫(xiě)的SQL語(yǔ)句會(huì)被SQL SERVER誤解。2009-04-04
SQL Server實(shí)現(xiàn)分頁(yè)方法介紹
這篇文章介紹了SQL Server實(shí)現(xiàn)分頁(yè)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
SQLServer2008R2版安裝和測(cè)試的實(shí)現(xiàn)
本文主要介紹了在Windows10上安裝和配置SQL?Server?2008R2,內(nèi)容涵蓋了安裝過(guò)程中的注意事項(xiàng),如安裝.NET?Framework?3.5、處理遠(yuǎn)程過(guò)程調(diào)用失敗等常見(jiàn)問(wèn)題,感興趣的可以了解一下2024-12-12

