sql server 視圖的用法


 1、視圖的作用

視圖的作用:
第一點:使用視圖,可以定制用戶數據,聚焦特定的數據。

解釋:
    在實際過程中,公司有不同角色的工作人員,我們以銷售公司為例的話,
    采購人員,可以需要一些與其有關的數據,而與他無關的數據,對他沒
    有任何意義,我們可以根據這一實際情況,專門為采購人員創建一個視
    圖,以后他在查詢數據時,只需select * from view_caigou 就 可以啦。 第二點:使用視圖,可以簡化數據操作。 解釋:我們在使用查詢時,在很多時候我們要使用聚合函數,同時還要 顯示其它字段的信息,可能還會需要關聯到其它表,這時寫的語句可能 會很長,如果這個動作頻繁發生的話,我們可以創建視圖,這以后,我 們只需要select * from view1就可以啦~,是不是很方便呀~ 第三點:使用視圖,基表中的數據就有了一定的安全性 解釋: 因為視圖是虛擬的,物理上是不存在的,只是存儲了數據的集合,我們可以 將基表中重要的字段信息,可以不通過視圖給用戶,視圖是動態的數據的集 合,數據是隨着基表的更新而更新。同時,用戶對視圖,不可以隨意的更改 和刪除,可以保證數據的安全性。 第四點:可以合並分離的數據,創建分區視圖(//目前我沒用到) 解釋: 隨着社會的發展,公司的業務量的不斷的擴大,一個大公司,下屬都設有很 多的分公司,為了管理方便,我們需要統一表的結構,定期查看各公司業務 情況,而分別看各個公司的數據很不方便,沒有很好的可比性,如果將這些 數據合並為一個表格里,就方便多啦,這時我們就可以使用union關鍵字, 將各分公司的數據合並為一個視圖。

2、Sql server中創建視圖和創建表是一樣的

2.1)創建表是這樣的

復制代碼
--------創建表-------
--判斷是否存在--
if exists (select * from sysobjects where name = 'Tab_EdsProd')
 drop table Tab_EdsProd
 go
 --創建表
create table Tab_EdsProd 
(
    Mid int identity(1,1) primary key,
    Code varchar(10) null,
    Name varchar(20) null    
)
--添加數據--
insert into Tab_EdsProd(Code,Name) values('001','張三');
insert into Tab_EdsProd(Code,Name) values('002','李四')
--查詢數據--
select * from Tab_EdsProd
復制代碼

2.3)創建視圖是這樣的

復制代碼
--------創建視圖-------
--判斷是否存在--
if exists (select * from sysobjects where name = 'View_EdsProd')
 drop view View_EdsProd
 go
 --創建視圖
create view View_EdsProd 
as
   select * from Tab_EdsProd where Mid>1
go
--使用視圖--
select *from View_EdsProd
復制代碼

創建表結果如下

創建視圖結果如下

如何創建的視圖不允許更改,可以加上 with encryption

復制代碼
--------創建加密視圖-------
--判斷是否存在--
if exists (select * from sysobjects where name = 'View_Jm_EdsProd')
 drop view View_Jm_EdsProd
 go
 --創建視圖
create view View_Jm_EdsProd 
with encryption
as
   select * from Tab_EdsProd where Mid>1
go
--使用視圖--
select *from  View_Jm_EdsProd 
復制代碼

加上with encryption 不可修改視圖

視圖定義來源於

http://blog.csdn.net/u014242422/article/details/53266859

平時多記記,到用時才能看看,記錄你的進步,分享你的成果


免責聲明!

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



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