SQL Server视图
在SQL Server中,视图是被存储在数据库中的预写查询。视图是由一个SELECT语句,当你运行视图,会看到它的结果,就像打开一个表时一样。 有些人喜欢把视图称作为虚拟表。这是因为,一个视图可以拉动多个表,并汇总数据在一起并将其显示,就好像它是一个单一的表。
视图的优点
当有多个用户提供不同级别的访问权限,需要看到在数据库中(但不一定是所有数据)中的数据的各不同部分的视图,可能是有用的。视图可以执行以下操作:
- 限制访问特定的表中的行
- 限制访问特定的表中的列
- 从多个表中加入列,并呈现出来,好像他们是一个单一的表的一部分
- 呈现汇总的信息(如COUNT函数的结果)
视图语法
创建一个视图通过使用CREATE VIEW语句,其次是SELECT语句。
CREATE VIEW ViewName AS
SELECT ...
创建视图
我们以前使用的查询设计器创建两个表中选择数据的查询。现在让我们在查询并将其保存为一个名为“ToDoList”的视图。基本上,我们需要做的就是把CREATE VIEW ToDoList的AS查询,像这样的面前:
CREATE VIEW ToDoList AS
SELECT Tasks.TaskName, Tasks.Description
FROM Status INNER JOIN
Tasks ON Status.StatusId = Tasks.StatusId
WHERE (Status.StatusId = 1)
一旦运行该脚本,刷新浏览文件夹在左窗格中,你会看到视图就在左窗格中:
![Screenshot of view](/uploads/allimg/150427/0642055422-0.png)
运行视图
所以,现在你已经创建的视图,你可以简单地查看结果选择它就像你会选择任何表。而不是输入出大SELECT语句的INNER JOIN等等,可以简单地键入select* from todolist,它会运行完整的查询:
注:也可以在视图上单击鼠标右键,并选择 "Select Top 1000 Rows".
数据更新
该视图将返回最新的数据。如果表中的数据发生变化时,视图的结果会改变过。所以,如果要添加新任务以及状态 "To Do", 下一次运行来看,这将包括在结果集中的新纪录。
修改视图
可以通过使用ALTER而不是CREATE修改现有的视图。
因此,如果我们想要更改视图使用StatusName字段,而不是StatusId,我们可以这样做:
ALTER VIEW ToDoList AS
SELECT Tasks.TaskName, Tasks.Description
FROM Status INNER JOIN
Tasks ON Status.StatusId = Tasks.StatusId
WHERE (Status.StatusName = 'To Do')
注:使用查询设计器也可以右键单击视图,然后选择设计来修改您的视图。
正如你所看到的,视图让您保存查询,以便可以做一个SELECT,再次运行它也会比较简单。但它们的确有其局限性。它们允许选择数据,但不允许执行任何业务逻辑,如条件语句等。 要做到这一点需要一个存储过程。
相关文章
- T-SQL教程_sql server 2008使用
- sql server 备份还原_什么是SQL
- sql server创建数据表的完整语法_sqlserver语法大全
- Sql Server中的视图介绍
- SQL Server 提取数字、提取英文、提取中文的sql语句
- Sql Server中通过sql命令获取cpu占用及产生锁的sql
- sql server比较Oracle 与 SQL Server的优缺点(oracleltgt)
- MySQL创建视图的SQL语句实例分析(mysql创建视图的sql语句)
- SQL Server技术:精湛的标识管理系统(sqlserver标识)
- 实现数据安全——SQL Server 锁查询(sqlserver锁查询)
- SQL Server适配器:连接万物(sqlserver适配器)
- SQL Server解决方案:提升效率、改善结果(sqlserver解法器)
- 大用途SQL Server视图:掌握6大强大用途(sqlserver视图6)
- SQL Server表和视图:构建数据库的基础之桥(sqlserver表试图)
- SQL Server表缓存——优质数据检索秒杀访问延迟!(sqlserver表缓存)
- SQL Server中清理数据库:提升数据库运行效率(sqlserver 清屏)
- SQL Server指标:追求最优性能(sqlserver指标)
- SQL Server快速拷贝表的方法(sqlserver拷贝表)
- 让SQL Server整数自增——利用幂函数实现(sqlserver幂函数)
- 管理SQL Server上安全的密钥管理实践(sqlserver 密钥)
- SQL Server实验:探索不一样的数据库之旅(sqlserver实验一)
- SQL Server图形化表格:实现更直观的视图分析(sqlserver图形表)
- SQL Server加字符,提升存储效果(sqlserver加字符)
- sql探索SQL Server:前六条SQL语句(sqlserver前六条)
- 学会利用SQL Server简易实现视图功能(sqlserver写视图)
- 的应用利用视图开发高效的SQL Server应用程序(sqlserver中视图)
- 使用SQL Server实现数据库应用程序开发(sqlserver中包涵)
- 视图使用SQL Server中的表值函数替代视图(sqlserver中代替)
- 使用SQL Server执行SQL文件的最佳实践(sqlserver执行sql文件)
- SQL Server导出SQL文件:实现快速数据备份(sqlserver导出sql文件)
- SQL Server零基础上手,轻松掌握超易操作(超易sqlserver)
- 使用Oracle SQL处理文本数据的方法(oracle sql文本)