SET FIELDS 命 令
指定可以访问表中的哪些字段
语 法
SET FIELDS ON | OFF | LOCAL | GLOBAL
– 或 –
SET FIELDS TO [[ FieldName1 [, FieldName2 ...]]
| ALL [LIKE Skeleton | EXCEPT Skeleton ]]
参 数 描 述
O N
指 定
只 能 访 问 出 现 在 字 段 列 表 中 的 字 段
OFF

默
认 值
指 定 可 以 访 问 当 前 表 中 的 所 有 字 段
LOCAL
只 能
访 问 字 段 列 表 中 当 前 工 作 区 的 字 段
G L O B A L

可
以 访 问 字 段 列 表 中 的 所 有 字 段 包 括 在 其 他 工 作 区 中 的
字 段
SET
FIELDS GLOBAL 允 许 在 不 发 出 SET COMPATIBLE TO DB4 命 令 时
也 可
以 访 问 其 他 工 作 区 中 的 字 段
TO [ FieldName1 [, FieldName2 ...]]


指
定 当 前 表 中 可 访 问 的 字 段 的 名 称 在 下 列 情 况 下 必 须 包
括 字 段 名 称 的 别名
-
当字 段 所 在 的 表 不 在 当 前 工 作 区 中 时
-
当在 两 个 或 两 个 以 上 表 中 字 段 的 名 称 相 同 时



在
字 段 名 称 的 前 面 加 上 表 的 别 名 可 以 在 字 段 列 表 中 包 括
其 他 工 作 区 中 打 开 的表 的 字 段 但 是 这 些 字 段 只 有 在 发 出
了 SET FIELDS GLOBAL 或 SET COMPATIBLE DB4 命 令 后 才 能 访 问





字段列表可以包含创建计算结果字段的语句
计算结果字段包含由表达式创建的只读数据 这个表达式可以是任何形式
不过它必须是有效的 Visual FoxPro 表达式 在发出了 SET FIELDS GLOBAL 或
SET COMPATIBLE DB4 命令之后 才能访问计算结果字段
用于创建计算结果字段的语句格式如下
< calculated field name> = <expr>
下面的示例创建一个名为
LOCATION 的计算结果字段
CLOSE DATABASES
USE customer
SET FIELDS TO LOCATION = ALLTRIM(city) + ', ' + state
CITY 和
STATE 都是选定表中的字段名称
ALL
允 许
访 问 当 前 表 中 的 所 有 字 段
ALL LIKE Skeleton | EXCEPT Skeleton





可
以 单 独 或 组 合 使 用 LIKE 和 EXCEPT 子 句 有 选 择 地 访 问 字 段
如 果 使 用LIKE Skeleton 可 以 访 问 与 Skeleton 相 匹 配 的 字 段
如 果 使 用 EXCEPT Skeleton 可 以 访 问 不 与 S keleton 相 匹 配
的 字 段



Skeleton
支 持 * 和 ? 通 配 符 例 如 要 访 问 所 有 以 字 母 A 和 字 母 P 开
头 的 字段 可 发 出 如 下 命 令
SET FIELDS TO ALL LIKE A * ,P*
LIKE
子 句 可 以 和 EXCEPT 子 句 联 合 起 来 使 用
SET FIELDS TO ALL LIKE A * ,P* EXCEPT PARTNO*
说 明


SET
FIELDS TO 可以添加字段 发出带字段列表的 SET FIELDS TO 命令
可以使指定的字段也成为当前可访问的字段


发出
SET FIELDS TO 命令隐含地执行了 SET FIELDS ON 命令
发出既不包含字段列表也不包含 ALL 的 SET FIELDS TO
命令将从当前表中移去字段列表上的所有字段使每个字段都不能被访问
SET
FIELDS 的作用域是当前数据工作期
请 参 阅
SET FILTER , SET DATASESSION
