T-SQL 语句(四)—— 视图操作

来源:互联网 发布:python黑客教程 编辑:程序博客网 时间:2024/06/05 02:50

T-SQL 语句(四)—— 视图操作

一、视图的优点

1、简化查询语句;
2、增加可读性,视图中可以只使用要显示的字段,并且可以使用字段别名
3、方便程序维护,当数据表的结构发生改变时只要修改视图存储的查询语句无需修改程序。
4、增加数据的安全性和保密性:针对不同的用户,可以创建不同的视图,此时用户只能看和修改其所能看到的视图中的数据,而真正的数据表中的数据都是不可见的。

二、创建视图

  注意事项:
   1、不能包括 Compute 和 Compute by 子句
   2、不能包括 ORDER BY 子句,除非在 SELECT 子句里有 TOP 子句

CREATE VIEW v_employee(id,name,hhhhh) AS    SELECT id,name,'哈哈哈哈' FROM employee -- 创建视图GO -- 创建视图语句必须是批处理的唯一语句SELECT * FROM v_employee -- 使用视图-- 创建一个视图获取最新 10 条新闻CREATE VIEW v_lastest_news AS    SELECT TOP 10 * FROM news ORDER BY id DESC-- 创建加密视图,加密后用户无法看到视图的信息(视图的创建语句)CREATE VIEW v_enpcrypted_news WITH ENCRYPTION AS    SELECT * FROM news-- 创建引用限制视图,当有视图引用表时表或视图不能被更改设计和删除CREATE VIEW v_test_news WITH SCHEMABINDING AS    SELECT * FROM newsDROP TABLE news -- 将引发错误消息-- 检查视图的数据变动CREATE VIEW view_product AS    SELECT * FROM product WHERE price > 20 WITH CHECK OPTION -- 创建带数据检查的视图UDPATE view_product SET price = 16 WHERE id = 3 -- 拒绝执行,不符合视图创建时设定的 price > 20 的条件UPDATE product SET price = 16 WHERE id = 3 -- 可以执行
三、修改视图和操作视图记录
ALTER VIEW v_enpcrypted_news AS(SELECT * FROM news) ——修改视图,去除视图加密INSERT INTO v_employee(name,age) VALUES('Jim',12) -- 插入数据UPDATE v_employee SET name = 'KT' WHERE id = 1 -- 更新数据DELETE v_employee WHERE id = 4 -- 删除数据,如果查询后视图本身不包含满足 WHERE 查询条件的记录但在数据表存在满足 WHERE 的记录,此时数据表不受影响ALTER VIEW v_employee1 AS SELECT TOP 5 * FROM employeeDELETE v_employee WHERE id = 6 -- 删除数据ALTER VIEW v_employee AS     SELECT TOP 5 * FROM employee WITH CHECK
四、删除视图
DROP VIEW v_employee
0 0
原创粉丝点击