SQL Server 視圖(僅代碼及練習)


use electric
go

--建立供電局1#倉庫所存放物資的視圖。
create view s1_stock
as
select * from stock where warehouse='供電局1#倉庫';

select * from s1_stock

--建立供電局1#倉庫所存放物資的視圖,並要求進行修改和插入操作時仍需保證該視圖只有供電局1#倉庫所存放的物資。
create view s2_stock
as
select * from stock where warehouse='供電局1#倉庫' with check option

select * from s2_stock

--建立由搶修工程項目名稱(prj_name)、出庫物資名稱(mat_name)、規格(speci)及領取數量(amount)的視圖。
create view s3_stock
as
select Salvaging.prj_name,Stock.mat_name,speci,stock.amount from stock,Salvaging,Out_Stock where Salvaging.prj_no=Out_stock.prj_no and Out_Stock.mat_no=stock.mat_no

select * from Salvaging

--建立供電局1#倉庫所存放物資庫存數量不少於50的視圖。
create view s4_stock
as
select * from stock where amount>=50

select * from s4_stock

--建立一個體現搶修工程項目實際搶修天數的視圖。
create view s5_stock
as
select prj_no,prj_name,datediff(day,start_date,end_date) 搶修天數 from Salvaging

select * from s5_stock

--將倉庫名稱與其倉庫內所存放物資的種類定義為一個視圖。
create view s6_stock
as
select mat_name,amount from Stock

select * from s6_stock

--視圖加密
CREATE VIEW s7_stock(warehouse,counts)
WITH ENCRYPTION --加密
AS
SELECT warehouse, COUNT(mat_no) 
FROM stock
GROUP BY warehouse;

--被加密后無法查看
sp_helptext s7_stock


--視圖刪除
DROP VIEW S1_Stock;

--更新視圖原表也一定會更新

 


免責聲明!

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



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