使用視圖的優點
1,視圖着重於特定數據
2,簡化數據的操作,易維護
使用視圖的缺點
1,操作視圖會比直接操作基礎表要慢
2,修改限制
使用視圖的注意事項
1,視圖定義中的select語句不能包含下列內容
order by子句,除非在select語句的選擇列中也有一個top子句
一個top子句
into關鍵字
引用臨時表或表變量
例子:
--視圖的注意事項 /* 1,視圖定義中的select語句不能包含下列內容 order by子句,除非在select語句的選擇列中也有一個top子句 一個top子句 into關鍵字 引用臨時表或表變量 */ --into,把數據從已存在的表中查詢出來,添加到新表中,這個新表不存在 select * into newTable --newTable不存在 from CommodityInfo select * from newTable go create view vw_newTable2 as select * --into newTable2 --創建視圖是不允許使用into,否則程序將會報錯:create view必須是批處理中的僅有的語句 from CommodityInfo go --臨時表 /* 1,存儲在tempdb 2,本地臨時表以“#”開頭,全局臨時表以“##”開頭 3,斷開連接時臨時表就被刪除了 */ --創建臨時表 create table #newTable ( id int, userName varchar(20) ) go --表變量 /* 1,表變量實際是變量一種形式 2,以@開頭 3,存在內存中 */ --創建表變量 declare @table table ( ID int, name varchar(20) ) go create view vw_Table as select * from @table --創建視圖的時候是不允許使用表變量的,因為表變量會隨着批處理的結束而結束,而創建視圖又不能同其他的批處理共存。 go create view vw_newTable --不允許使用臨時表創建視圖 as select * from #newTable go