T-SQL视图操作
来源:互联网 发布:淘宝兴趣人群海报 编辑:程序博客网 时间:2024/05/17 03:26
视图:是从一个或多个表中使用SELECT的FROM子句导出的。那些用来导出视图的表称为基表,视图也可以从一个或多个其他视图中产生。导出视图的SE LECT语句存放在数据库中,而与视图定义相关的数据并没有在数据库中另存一份,所以视图也称为虚表,通过视图看到的是它所基于的表的数据。视图的行为如同一个表,可以通过视图查询表的数据,或修改表的数据。
视图的功能:
?筛选表中的行
?防止未经许可的用户访问敏感数据
?降低数据库的复杂程度
?将多个物理数据库抽象为一个逻辑数据库
视图的优点:
?对最终用户的好处
– 结果更容易理解
– 获得数据更容易
?对开发人员的好处
– 限制数据检索更容易
– 维护应用程序更方便
创建视图:
语法:CREATE VIEW <Viewname> AS <Select Statement
>
示例:USE Northwind
GOCREATE VIEW dbo.ShipStatusView
ASSELECT OrderID, RequiredDate, ShippedDate,
ContactName FROM Customers c INNER JOIN Orders o
ON c.CustomerID = O.CustomerID
WHERE RequiredDate < ShippedDate
创建视图的指导原则:
?只能在当前数据库中创建视图
?视图名称应与表名近似
?视图名称应遵循标识符的命名规则
?可以基于其他视图建立视图
?不能将默认值、规则和触发器与视图相关联
?不能为视图建立索引
?创建视图时不能使用临时表。
?即使表被删除,视图定义仍将保留。
?定义视图的查询不能包含以下语句:
-ORDER BY
-COMPUTE 子句
-COMPUTE BY 子句
-INTO 关键字
修改视图:
满足下列条件时,可以使用视图修改表中的数据:
?视图定义的FROM 子句中应至少包含一个表。
?选择没有使用聚合函数或GROUP BY、UNION、DISTINCT或TOP子句。但是,可以在from 子句中定义的子查询中使用聚合函数,前提是不修改聚合函数生成的派生值。
?视图的select 列表中不包含派生列。派生列是指用简单的列表达式(如使用函数或加法或减法运算符)以外的任何其他方式生成的结果集列。
示例:USE Northwind
GO
ALTER VIEW dbo.EmployeeView
AS
SELECT LastName, FirstName, Extension
FROM Employees
注意:只有在ALTER VIEW执行前后列名称不变的情况下,列上的权限才会保持不变
更新视图:
1 首先要满足可更新视图的基本条件
2 插入数据使用 insert into 表名语句,注意当视图的基表是多个时,不能向视图插入数据;
3 修改数据使用 update 语句,注意当视图的基表是多个时(不包括分区视图),一次修改只能变动一个基表;
4 删除数据使用 delete 语句,注意当视图的基表是多个时(不包括分区视图)
删除视图:
?不再需要某个视图时,可以将其删除以释放资源。
?删除视图对基表不产生任何影响。
语法:
DROP VIEW view_name示例:DROP VIEW NewMoon_employee
查询视图:
有4种方法可以查看视图的信息:
1使用企业管理器;
2使用Transact-SQL语句;
3使用系统存储过程;
4查询information_schema.views获得视图的信息。
CREATE VIEW bbbbb AS --创建视图
SELECT e.bz,p.id
FROM tb_dingdan as e, tb_orderlist as p
WHERE e.ID = p.ID AND e.sumprice = p.sumprice
drop view bbb --删除视图
alter view bbbbb --重新定义视图(将原视图中的字段删除后增加新的字段)
as
select a.turename,a.id,a.sumprice,b.username from tb_dingdan as a , tb_orderlist as b
- T-SQL视图操作
- T-SQL 语句(四)—— 视图操作
- T-SQL编程(视图)
- T-Sql 学习(10) - 视图
- T-SQL sqlServer 创建视图
- SQL Server:使用T-SQL创建视图
- sql视图操作注意事项
- T-SQL高级查询和视图
- T-SQL查询进阶--深入浅出视图
- T-SQL查询进阶--深入浅出视图
- T-SQL查询-----视图的强大用处
- T-SQL查询进阶--深入浅出视图
- T-SQL查询进阶--深入浅出视图
- T-SQL查询进阶--深入浅出视图
- T-SQL查询进阶--深入浅出视图
- T-SQL查询进阶--深入浅出视图
- T-SQL查询进阶--深入浅出视图
- T—sql数据库操作
- sql语句
- Material Designer的低版本兼容实现(一)—— 简介 & 目录
- HTML特殊字符编码大全
- something new
- grideview的编辑操作
- T-SQL视图操作
- 【转载】.net操作cookies
- 【转载】html文本框(input)不保存缓存记录
- js实现checkbox全选,反选,全不选
- 动态显示select的option默认显示
- 【转载】sqlite新建表带主键自增
- 关于背景图片长度不够的问题
- 使用.net处理json数组,将json数组转换为datatable
- 使用js简繁转换