視圖的優缺點及注意事項


使用視圖的優點

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM