首页 > 代码库 > Sql Server系列:视图

Sql Server系列:视图

  视图是数据库中的一种虚拟表,与真实的表一样,视图包含一系列带有名称的行和列数据。行和列数据用来自定义视图的查询所引用的表,并且在引用视图时动态生成。

1. 视图的概念

  视图是从一个或者多个表中导出的,其行为与表相似,但视图是一个虚拟表。视图可以在已经存在的视图的基础上定义。在视图上用户可以使用SELECT语句查询数据库,使用INSERT、UPDATE和DELETE语句修改记录。对于视图的操作最终转化为对基本数据表的操作。

      用途:1.汇集多张表的内容聚集到一张表中  例如 首页数据展示。 

2. 创建视图

  使用T-SQL创建视图语法:

CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ] 
[ WITH <view_attribute> [ ,...n ] ] 
AS select_statement 
[ WITH CHECK OPTION ] 
[ ; ]

  实例:

  单表视图

CREATE VIEW [dbo].[V_Product]
AS
    SELECT [ProductID],[ProductName]
    FROM [dbo].[Product]

  多表视图

CREATE VIEW [dbo].[V_ProductCategory]
AS
    SELECT [ProductID],[CategoryName],[ProductName]
    FROM [dbo].[Product] INNER JOIN [dbo].[Category]
    ON [dbo].[Product].[CategoryID] = [dbo].[Category].[CategoryID]

  创建排序视图

CREATE VIEW [dbo].[V_Product]
AS
    SELECT TOP 100 PERCENT [ProductID],[ProductName]
    FROM [dbo].[Product]
    ORDER BY [UnitPrice]

3. 修改视图

  使用T-SQL修改视图语法:

ALTER VIEW [ schema_name . ] view_name [ ( column [ ,...n ] ) ] 
[ WITH <view_attribute> [ ,...n ] ] 
AS select_statement 
[ WITH CHECK OPTION ] [ ; ]

4. 查看视图

  查看视图结构:

EXEC sp_help [V_Product]

  查看视图文本:

EXEC sp_helptext [V_Product]

5. 删除视图

  T-SQL删除视图语法:

DROP VIEW [ schema_name . ] view_name [ ...,n ] [ ; ]

  删除单个视图:

DROP VIEW [V_Product]

  删除多个视图:

DROP VIEW [V_Product],[V_ProductCategory]

Sql Server系列:视图