SET RELATION 命 令

SET RELATION 命 令 - 图1在两个打开的表之间建立关系

语 法

SET RELATION TO

[eExpression1 INTO nWorkArea1 | cTableAlias1

[, eExpression2 INTO nWorkArea2 | cTableAlias2 ...] [IN nWorkArea | cTableAlias]

[ADDITIVE]]

参 数 描 述

eExpression1

SET RELATION 命 令 - 图2SET RELATION 命 令 - 图3指 定 用 来 在 父 表 和 子 表 之 间 建 立 关 系 的 关 系 表 达 式 关 系 表 达 式 通 常 是 子 表主 控 索 引 的 索 引 表 达 式

SET RELATION 命 令 - 图4SET RELATION 命 令 - 图5SET RELATION 命 令 - 图6SET RELATION 命 令 - 图7SET RELATION 命 令 - 图8子 表 的 索 引 可 以 是 单 项 索 引 ( .IDX) 多 项 结 构 复 合 索 引 (.CDX) 或 独 立 复 合索 引 如 果 是 复 合 索 引 应 指 定 适 当 的 索 引 标 识 来 排 序 子 表 SET ORDER 可用 来 指 定 排 序 子 表 的 索 引 标 识

SET RELATION 命 令 - 图9SET RELATION 命 令 - 图10SET RELATION 命 令 - 图11SET RELATION 命 令 - 图12SET RELATION 命 令 - 图13SET RELATION 命 令 - 图14例 如 考 虑 说 明 部 分 描 述 的 customerorders 两 表 假 定 子 表 orders 已 经 建立 索 引 并 且 使 用 如 下 命 令 用 顾 客 编 号 进 行 排 序

SET ORDER TO TAG cust_id

SET RELATION 命 令 - 图15SET RELATION 命 令 - 图16SET RELATION 命 令 - 图17SET RELATION 命 令 - 图18SET RELATION 命 令 - 图19要 在 customerorders 两 表 的 顾 客 编 号 上 建 立 关 系 应 选 择 包 含 父 表 customer 的工 作 区 或 使 用 IN 子 句 来 指 定 父 表 的 工 作 区 或 别 名 然 后 发 出 SET RELATION 命 令 用 如 下 关 系 表 达 式 指 定 索 引 表 达 式

SET RELATION TO cust_id INTO orders

SET RELATION 命 令 - 图20SET RELATION 命 令 - 图21SET RELATION 命 令 - 图22SET RELATION 命 令 - 图23SET RELATION 命 令 - 图24SET RELATION 命 令 - 图25SET RELATION 命 令 - 图26SET RELATION 命 令 - 图27SET RELATION 命 令 - 图28SET RELATION 命 令 - 图29除 非 关 系 表 达 式 是 数 值 型 的 否 则 子 表 必 须 建 立 索 引 如 果 发 出 包 含 非 数 值关 系 表 达 式 的 SET RELATION 命 令 时 子 表 没 有 使 用 索 引 进 行 排 序 V isual FoxPro 显 示 错 误 信 息 如 果 eExpression1 是 数 值 型 表 达 式 那 么 当 记 录 指针 在 父 表 中 移 动 时 将 计 算 此 表 达 式 然 后 子 表 的 记 录 指 针 移 到 记 录 编 号为 eExpression1 的 记 录 上

INTO nWorkArea1 | cTableAlias1

SET RELATION 命 令 - 图30指 定 子 表 的 工 作 区 编 号 ( nWorkArea1 ) 或 子 表 的 表 别 名 ( cTableAlias1 ) eExpression2 INTO nWorkArea2 | cTableAlias2 ...

SET RELATION 命 令 - 图31指 定 其 他 关 系 表 达 式 (eExpression2 ) 和 子 表 建 立 另 一 个 父 表 和 子 表 之 间 的

SET RELATION 命 令 - 图32SET RELATION 命 令 - 图33SET RELATION 命 令 - 图34关 系 在 一 条 SET RELATION 命 令 中 可 以 创 建 单 个 父 表 与 多 个 子 表 之 间 的关 系 但 是 各 个 关 系 之 间 要 用 逗 号 隔 开

SET RELATION 命 令 - 图35SET RELATION 命 令 - 图36nWorkArea2 指 定 工 作 区 编 号 cTableAlias2 指 定 子 表 的 别 名

IN nWorkArea

SET RELATION 命 令 - 图37指 定 父 表 的 工 作 区

IN cTableAlias

SET RELATION 命 令 - 图38SET RELATION 命 令 - 图39SET RELATION 命 令 - 图40SET RELATION 命 令 - 图41指 定 父 表 的 别 名 IN 子 句 允 许 创 建 关 系 时 不 必 首 先 选 择 父 表 工 作 区 如 果SET RELATION 命 令 中 省 略 了 nWorkAreacTableAlias 父 表 必 须 在 当前 选 定 的 工 作 区 中 打 开

ADDITIVE

SET RELATION 命 令 - 图42SET RELATION 命 令 - 图43SET RELATION 命 令 - 图44SET RELATION 命 令 - 图45保 留 当 前 工 作 区 中 所 有 已 存 在 的 关 系 并 创 建 指 定 的 新 关 系 如 果 命 令 中 不 包括 ADDITIVE 子 句 将 断 开 当 前 工 作 区 中 的 所 有 关 系 然 后 再 创 建 指 定 的关 系

SET RELATION 命 令 - 图46在两个打开的表之间建立关系

说 明

SET RELATION 命 令 - 图47SET RELATION 命 令 - 图48SET RELATION 命 令 - 图49SET RELATION 命 令 - 图50SET RELATION 命 令 - 图51SET RELATION 命 令 - 图52SET RELATION 命 令 - 图53SET RELATION 命 令 - 图54SET RELATION 命 令 - 图55在 建 立 关 系 之 前 必 须 打 开 一 个 表 父 表 SET RELATION 命 令 - 图56 而 且 还 必 须 在 另 一 个 工 作 区 内打 开 其 他 表 子 表 SET RELATION 命 令 - 图57相 关 的 各 表 通 常 有 一 个 相 同 的 字 段 例 如 假 定 表 customer 包 含 顾 客 信 息 有 顾 客 姓 名 地 址 和 唯 一 的 顾 客 编 号 等 字 段 表 orders 包 含

SET RELATION 命 令 - 图58SET RELATION 命 令 - 图59SET RELATION 命 令 - 图60SET RELATION 命 令 - 图61SET RELATION 命 令 - 图62订 货 信 息 也 有 顾 客 编 号 字 段 同 时 还 有 日 期 和 发 货 信 息 等 字 段 SET RELATION 通 过 相 同 的 字 段 即 顾 客 编 号 字 段 来 联 系 两 个 表 要 建 立 这 种

SET RELATION 命 令 - 图63SET RELATION 命 令 - 图64SET RELATION 命 令 - 图65关 系 子 表 必 须 在 公 共 字 段 上 建 立 索 引 建 立 关 系 后 不 论 何 时 在 父 表 customer

SET RELATION 命 令 - 图66SET RELATION 命 令 - 图67SET RELATION 命 令 - 图68SET RELATION 命 令 - 图69SET RELATION 命 令 - 图70SET RELATION 命 令 - 图71中 移 动 记 录 指 针 到 指 定 顾 客 编 号 的 记 录 上 时 子 表 orders 中 的 记 录 指 针 也 将 同 时 移 到 相 同 顾 客 编 号 的 记 录 上 如 果 子 表 中 找 不 到 相 匹 配 的 记 录 子 表 中的 记 录 指 针 将 停 在 表 尾 不 带 任 何 参 数 的 SET RELATION TO 命 令 将 移 去当 前 选 定 工 作 区 中 的 所 有 关 系 可 用 SET RELATION OFF 移 去 指 定 的 父 子关 系

请 参 阅

INDEX , RELATION ( ) , SET ORDER , SET RELATION OFF , SET SKIP ,

TARGET( )