R E C A L L 命 令
恢复所选表中带有删除标记的记录
语 法
RECALL
[ Scope ] [FOR lExpression1 ] [ W H ILE lExpression2 ] [NOOPTIMIZE]
参 数 描 述
Scope
指 定 要 恢 复 记 录 的 范 围 只 有 在 指 定 范 围 内 的 记 录 才 被 恢 复 Scope 子 句 有ALL NEXT nRecords RECORD nRecordNumber 和 REST 有 关 scope 子 句的 详 细 内 容 请 参 阅 帮 助 中 的 “ Scope Clauses ” 和 语 言 概 述
RECALL 命令默认的范围是当前记录 (NEXT1)
FOR lExpression1
指 定 只 恢 复 lExpression1 计 算 为 真 (.T.) 的 记 录 这 可 以 筛 选 掉 不 需 要 的记 录
如果 lExpression1 是一个可优化表达式 那么 Rushmore 将优化 RECALL FOR 语句 为了得到最佳的性能 请在 FOR 子句中使用可优化表达式
详 细 内 容 请 参 阅 稍 后 的 语 言 参 考 中 的 SET OPTIMIZE 命 令 与
Microsoft Visual FoxPro 6.0 中 文 版 程 序 员 指 南 第 十 五 章 优 化 应 用 程序 中 的 掌 握 Rushmore 技 术
W H ILE lExpression2
指 定 一 个 条 件 只 要 lExpression2 计 算 为 真 (.T.) 时 就 恢 复 删 除 的 记录
NOOPTIMIZE
关 闭 RECALL 命 令 的 Rushmore 优 化
详细内容 请参阅稍后的 语言参考 中的 SET OPTIMIZE 命令与 Microsoft
Visual FoxPro 6.0 中文版程序员指南 第十五章 优化应用程序 中的 掌握 Rushmore
技术
说 明
只要没有发出 PACK 或 ZAP 命令 就可以使用 RECALL 命令恢复记录
警 告 一 旦 对 文 件 使 用 了 PACK 或 ZAP 命 令 那 么 所 有 带 删 除 标 记 的 记 录 将永 远 消 失
可以通过发出 DELETE 或 DELETE-SQL 命令给记录做删除标记 或者当浏览窗口或编辑窗口活动时 从 表 菜单中选择 删除记录 菜 单 项 可以通过发出 RECALL 命令恢复记录 或者当浏览窗口或编辑窗口是活动时 从 表 菜单中选择 恢复记录 菜单项
示 例
下面的 示例 打开了数据库 testdata 中的 customer 表 用 DELETE – SQL 在 country 字 段包含 USA 的地方标记所有的记录为删除 显示所有标记为删除的记录 用 RECALL
ALL 为标记为删除的记录解除标记
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata') USE customer && 打开 Customer 表
DELETE FROM customer WHERE country = 'USA' && 标记删除
CLEAR
LIST FIELDS company, country FOR DELETED && 列出标记记录
ALL && 取消标记删除记录的标记
请 参 阅
DELETE , DELETE – S Q L , PACK , SET DELETED , ZAP