create sql view 命令

示例 请参阅

显示视图设计器来创建 SQL 视图。

语法

CREATE SQL VIEW [ViewName ] [REMOTE]
[CONNECTION ConnectionName [SHARE]
| CONNECTION DataSourceName]
[AS SQLSELECTStatement]

参数

ViewName

指定要创建的视图的名称。

REMOTE

指定创建使用远程表的远程视图。如省略 REMOTE,可用本地表创建视图。

CONNECTION ConnectionName [SHARE]

打开视图时,指定建立一个命名连接。如果包含 SHARE 子句,并且共享连接可用,Visual FoxPro 将使用共享连接。如果共享连接不可用,则在打开视图时创建一个唯一连接,其他视图不能使用该连接。

CONNECTION DataSourceName

指定一个已存在的、建立了连接的数据源。

AS SQLSELECTStatement

指定视图定义。SQLSELECTStatement 必须是一个合法的 SQL SELECT 语句,而且不必用引号括起来。对于本地视图,通过用数据库名和惊叹号 ( ! ) 作为视图或表名的前缀,可以指定数据库(不是当前数据库)中的表和视图。例如,下面的命令创建了 SQL 视图 mysqlview。该视图选择了 customer 数据库的 orders 表中的所有字段:

CREATE SQL VIEW mysqlview AS SELECT * FROM customer!orders


有关 SQL SELECT 语句的其他内容,请参阅 SELECT - SQL。
可通过创建一个参数化视图,而不用为每个记录子集都创建一个单独的视图,来限制视图的范围。参数化视图利用 WHERE 子句,通过提供一个值作参数,把记录限制在那些符合条件的记录上。
例如,可以创建一个 SQL 视图,根据您提供的国家名称下载有关该国的记录。
所提供的参数被当作是 Visual FoxPro 表达式来计算。如果计算失败,Visual FoxPro 提示参数值。例如,假定 Testdata 数据库的 customer 表放在一个远程服务器上,下面的示例创建了一个参数化远程视图,它把视图限制在某个国家的顾客上,国名由参数 ?cCountry 的值提供:

OPEN DATABASE testdata
CREATE SQL VIEW customer_remote_view CONNECTION remote_01 ;
AS SELECT * FROM customer WHERE customer.country = ?cCountry

提示
如果参数是一个表达式,应把参数表达式用圆括号括起来。这样使整个表达式当作是参数的一部分来计算。

有关参数化视图的详细内容,请参阅《开发指南》第八章“创建视图”。

说明
在创建 SQL 视图之前,必须独占地打开数据库,可用包含 EXCLUSIVE 关键字的 OPEN DATABASE 命令独占地打开一个已存在的数据库,或用 CREATE DATABASE 来创建一个新的数据库。