T-SQL视图

2015-01-24 01:41:40 · 作者: · 浏览: 2
视图
1、 什么是视图
只不过是通过相关的名称存储在 数据库中的一个 SQLite 语句。视图(View)实际上是一个以预定义的 SQLite 查询形式存在的表的组合。


2、 创建视图注意事项
创建视图需要考虑一下准则:


用户或用户组查找结构数据的方式更自然或直观。

限制数据访问,用户只能看到有限的数据,而不是完整的表。

汇总各种表中的数据,用于生成报告。

不能将规则和default定义于视图相关联

你可以对其他视图创建视图。允许嵌套视图,但嵌套不得超过32层。视图最多可以有1024个字段

视图的查询不能包含compute子句、compute by子句或into关键字

定义视图的查询不能包含order by子句,除非在select 语句的选择列表中还有top子句

?

下列情况必须指定视图中每列的名称:

# 视图中的如何列都是从算术表达式、内置函数或常量派生而来

# 视图中有两列或多列具有相同名称(通常由于视图定义包含联接,因此来自两个或多个不同的列具有相同的名称)

# 希望视图中的列指定一个与其原列不同的名称(也可以在视图中重命名列)。无论是否重命名,视图列都回继承原列的数据类型

?

3、 创建视图

--创建视图
Create VIEW [dbo].[FC7Exp]
AS
SELECT     CONVERT(varchar(12), a.ShipDate, 23) AS '出库日期', d.GName AS '部门', b.SaftLockID AS 'ID', b.SaftLockPN AS 'P/N',
	 b.OrderNum AS '订单号',  b.InterfaceType AS '接口类型', b.FCCom AS '组件', b.OutNumber AS '数量', e.CusName AS '客户名称', b.Amount AS '总价','' AS '金额', '' AS '成本',   f.UName AS '销售人员'
FROM         dbo.Admin_FCOut AS a 
LEFT OUTER JOIN
      dbo.Admin_FCOutDt AS b ON b.LastID = a.ID
LEFT OUTER JOIN
      dbo.ug_User_Group AS c ON c.UId = a.Shipper 
LEFT OUTER JOIN
      dbo.g_group AS d ON c.GId = d.GId
LEFT OUTER JOIN
      dbo.crm_custom AS e ON e.CusId = b.CusId
LEFT OUTER JOIN
      dbo.u_user AS f ON f.UId = a.Shipper

----你要操作的查询语句


4、 修改视图
ALTER VIEW [dbo].[FC7Exp]
AS
查询语句
GO


 
 

5、 加密视图

?

--如果想要修改已创建建的视图、并且加密、那么执行下面代码
alter   view 视图名
with encryption                 ----(进行视图加密)
begin
----你要操作的查询语句
end

------如果想要新建的视图、并且加密、那么直接执行下面代码
create   view 视图名
with encryption                 ----(进行视图加密)
begin
----你要操作的查询语句
end


?

删除视图
DROP VIEW 视图名称