Informix 中的视图

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

任何拥有所需权限的用户都可以使用 SQL 或 ArcSDE sdetable 命令来创建视图。此外,如果满足特定要求,则可使用视图来编辑数据。有关创建或编辑视图所需权限的信息,请参阅相应版本的 IBM Informix Dynamic Server 信息中心。

在 Informix 数据库中,视图定义存储在 sysviews 目录表中。

Sysviews 系统目录表存储视图信息

使用 SQL 或 sdetable 命令在 Informix 数据库中创建视图时,视图将在 sysviews 系统目录表中进行定义。因此,可以查询 sysviews 系统目录表来了解数据库中的每个视图是如何定义的。

Sysviews 系统目录表具有以下列:

名称

类型

描述

tabid

整型

视图的 ID

seqno

smallint

创建视图的 SELECT 语句的行号

viewtext

char(64)

用于创建视图的语句

Informix 视图目录表

可以先查询 systables 系统目录表来查找所需视图的 tabid。Systables 系统目录表为每个数据库对象存储一个记录,但进行查询时只返回视图,如下例所示:

SELECT * 
FROM informix.systables 
WHERE tabtype = 'V';

如果要查找要查看其定义的视图,可以查询 sysviews 表。

SELECT * 
FROM informix.sysviews 
WHERE tabid = <view_id>;
9/15/2013