首页 > 代码库 > T-SQL 视图

T-SQL 视图

视图

【小弟建立视图以前都是可视化操作很少去写T-SQL语句,但是在工作当中发布版本的时候就要,写一些T-SQL语句了,所以大家还是多写点比较好】

    1、 什么是视图

       只不过是通过相关的名称存储在数据库中的一个 SQLite 语句。视图(View)实际上是一个以预定义的 SQLite 查询形式存在的表的组合。

 

    2、 创建视图注意事项

        创建视图需要考虑一下准则:

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

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

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

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

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

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

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

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

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

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

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

 

    3、 创建视图

--创建视图
<span style="font-family:Microsoft YaHei;font-size:14px;">
</span><pre name="code" class="sql">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',
<span style="white-space:pre">	</span> b.OrderNum AS '订单号',  b.InterfaceType AS '接口类型', b.FCCom AS '组件', b.OutNumber AS '数量', e.CusName AS '客户名称', b.Amount AS '总价',
 <span style="white-space:pre">	</span>'' 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

<span style="font-family:Microsoft YaHei;font-size:14px;">
----你要操作的查询语句<span style="background-color: rgb(255, 255, 255);"> </span>
</span>

    4、 修改视图

<span style="font-family:Microsoft YaHei;font-size:14px;"></span><pre name="code" class="sql">ALTER VIEW [dbo].[FC7Exp]
AS
查询语句
GO


    5、 加密视图

<span style="font-family:Microsoft YaHei;font-size:14px;">------如果想要修改已创建建的视图、并且加密、那么执行下面代码
alter   view 视图名
with encryption                 ----(进行视图加密)
begin
----你要操作的查询语句
end

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


删除视图
<span style="font-family:Microsoft YaHei;font-size:14px;">DROP VIEW 视图名称</span><pre name="code" class="sql">

T-SQL 视图