SQL Server 中的视图

创建视图后可在收到数据请求时限制所搜索的行和列的数量,从而缩短查询响应时间。您可以创建以要素类或非空间表的形式出现在客户端应用程序中的视图。视图可引用单个表或要素类,或者您也可以创建视图来连接多个表中的数据。

任何拥有必要权限的用户均可使用 SQL 创建视图。有关创建视图所需权限的信息,请参阅相应版本的 SQL Server 文档。数据库中至少需要 CONNECT 和 CREATE VIEW 权限,并且创建视图的用户必须具有成员表的 SELECT 权限。

在 Microsoft SQL Server 数据库中,可通过 INFORMATION_SCHEMA.VIEWS 系统视图来访问视图定义。

INFORMATION_SCHEMA.VIEWS 系统视图

通过在 INFORMATION_SCHEMA.VIEWS 系统视图中查询特定视图可以获取视图的元数据。

字段名

数据类型

描述*

TABLE_CATALOG

nvarchar(128)

视图限定符

TABLE_SCHEMA

nvarchar(128)

包含此视图的方案

TABLE_NAME

nvarchar(128)

视图名称

VIEW_DEFINITION

nvarchar(4000)

视图定义文本

CHECK_OPTION

varchar(7)

创建视图时所使用的 WITH CHECK OPTION 类型(如果创建)

IS_UPDATABLE

varchar(2)

指示视图是否可以更新

*有关字段的完整描述和任何说明,请参阅相应 SQL Server 版本的 Microsoft 文档。

交叉数据库视图

在多重空间数据库模型中,可以在不同数据库中的表和要素类之间创建视图。执行此操作时,必须使用 –D(数据库)转换来标识要在其中创建视图的数据库,并使用 –t 选项列出所有参与视图的表。必须完全限定表名称以包括数据库和所有者的名称。

注注:

要迁移到单一空间数据库模型,必须删除这些视图。您可以在迁移数据后重新创建这些视图。

在单一空间数据库模型中,不能使用 sdetable 命令的 create_view 操作在不同数据库的两个要素类之间创建交叉数据库视图。要创建此类视图,必须使用 SQL。

5/10/2014