SQL Server创建视图

从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据 。

从数据库系统内部来看,一个视图是由 SELECT 语句组成的查询定义的虚拟表(因为一个视图可以拉动多个表,并汇总数据在一起并将其显示,就好像它是一个单一的表)

视图是由一张或多张表中的数据组成的,当你运行视图,会看到它的结果,就像打开一个表时一样。

从数据库系统外部来看,视图就如同张表一样,对表能够进行的一般操作都可以应用于视图,例如查询,插入,修改,删除操作等。

SQL Server视图的优点

视图可以执行以下操作:

  • 限制访问特定的表中的行
  • 限制访问特定的表中的列
  • 从多个表中加入列,并呈现出来,好像他们是一个单一的表的一部分
  • 呈现汇总的信息(如COUNT函数的结果)

SQL Server视图语法

通过使用 CREATE VIEW 语句创建一个视图,其次是 SELECT 语句,如下:

 
  1. CREATE VIEW ViewName AS
  2. SELECT ...

SQL Server创建视图

我们以前使用的查询设计器创建两个表中选择数据的查询。

现在让我们将查询保存为一个名为 “ToDoList” 的视图。

我们需要做的就是把 CREATE VIEW ToDoList 的 AS 查询,如下:

  1. CREATE VIEW ToDoList AS
  2. SELECT Tasks.TaskName, Tasks.Description
  3. FROM Status INNER JOIN
  4. Tasks ON Status.StatusId = Tasks.StatusId
  5. WHERE (Status.StatusId = 1)

运行该脚本,在左窗格中刷新浏览文件夹,你会看到视图就在左窗格中:

SQL Server 运行视图

创建视图后,就可以简单地查看结果,就像你会选择任何表。

可以简单地键入 select * from todolist,它会运行完整的查询,而不是输入出大量的 SELECT 语句的 INNER JOIN :


注:也可以在视图上单击鼠标右键,并选择 “Select Top 1000 Rows”.

数据更新

该视图将返回最新的数据。

如果表中的数据发生变化时,视图的结果会改变过;所以,如果要添加新任务以及状态 “To Do”, 下一次运行来看,这将包括在结果集中的新纪录。

修改视图

通过使用 ALTER 修改现有的视图,而不是 CREATE。

如果我们想要更改视图就要使用 StatusName 字段,而不是 StatusId,做法如下:

  1. ALTER VIEW ToDoList AS
  2. SELECT Tasks.TaskName, Tasks.Description
  3. FROM Status INNER JOIN
  4. Tasks ON Status.StatusId = Tasks.StatusId
  5. WHERE (Status.StatusName = 'To Do')

注:使用查询设计器也可以右键单击视图,然后选择设计来修改您的视图。

正如你所看到的,视图让您保存查询,以便可以做一个 SELECT,再次运行它也会比较简单。

但它们的确有其局限性:它们允许选择数据,但不允许执行任何业务逻辑,如条件语句等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智慧浩海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值