国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQL Server視圖復習

2024-08-31 00:54:15
字體:
來源:轉載
供稿:網友
SQL Server視圖復習

視圖的好處:

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

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

自己做的練習:

 1 --SQL視圖的學習篇 2  3 --1.簡單視圖的創建 4  5 IF OBJECT_ID('Orders_View','V') IS NOT NULL 6 DROP VIEW Orders_View; 7 GO  8 CREATE VIEW [Orders_View] 9 AS10 SELECT dbo.Orders.OrderID,dbo.Customers.CustomerID FROM dbo.Orders  INNER JOIN dbo.Customers11 ON Customers.CustomerID = Orders.CustomerID12 GO 13 14 --1.1視圖的使用15 SELECT * FROM Orders_View;16 17 18 --2.使用WITH ENCRYPTION,創建加密視圖19 IF OBJECT_ID('Region_View','V') IS NOT NULL20 DROP VIEW Region_View;21 GO22 CREATE VIEW  Region_View23 WITH ENCRYPTION24 AS 25 SELECT R.RegionID AS R_ID, R.RegionDescription AS R_Desc FROM dbo.Region AS R26 INNER JOIN dbo.Territories27 ON Territories.RegionID = R.RegionID28 GO 29 30 --2.1使用視圖31 SELECT * FROM Region_View;32 33 --2.2加密視圖之后,執行下面的語句嗎,得到的文本是,這個對象已經加密34 EXEC sp_helptext Region_View;35 36 37 --3.使用 WITH CHECK OPTION,并允許對數據進行修改38 IF OBJECT_ID('View_Hello','V') IS NOT NULL 39 DROP VIEW View_Hello;40 GO 41 CREATE VIEW View_Hello42 AS 43 SELECT O.OrderID,C.ContactName,C.City,E.LastName,E.FirstName,S.CompanyName FROM dbo.Orders AS O44 INNER JOIN dbo.Customers AS C ON C.CustomerID = O.CustomerID45 INNER JOIN dbo.Employees AS E ON E.EmployeeID = O.EmployeeID46 INNER JOIN dbo.Shippers AS S ON S.ShipperID = O.ShipVia47 WHERE c.City='London'48 WITH CHECK OPTION;49 GO 50 51 --視圖的使用52 SELECT * FROM View_Hello;53 54 --測試用55 SELECT * FROM dbo.Customers WHERE City='London';56 --測試用57 UPDATE dbo.Customers SET city='London' WHERE City='AAAAAA'58 59 60 --4.使用視圖中的內置函數61 62 IF OBJECT_ID('Orders_GetDate','V') IS NOT NULL63 DROP VIEW Orders_GetDate;64 GO 65 CREATE VIEW Orders_GetDate66 AS 67 SELECT TOP (50) OrderID,SUM(Freight) AS aaa FROM dbo.Orders68 WHERE OrderDate>CONVERT(DATETIME,'1996-08-01') 69 GROUP BY OrderID70 GO 71 72 --使用視圖73 SELECT* FROM Orders_GetDate;


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 来凤县| 松滋市| 桃源县| 临洮县| 郑州市| 许昌县| 铜陵市| 章丘市| 阜城县| 惠东县| 绥阳县| 绥德县| 门源| 民乐县| 定边县| 齐河县| 浦东新区| 宁安市| 扎兰屯市| 新民市| 宣武区| 鹤山市| 宽甸| 安乡县| 宝丰县| 岚皋县| 茂名市| 顺昌县| 莱芜市| 长宁县| 扎鲁特旗| 滕州市| 安多县| 灵寿县| 赤峰市| 新河县| 香港| 靖边县| 农安县| 宁波市| 遂宁市|