VFP中引用索引文件的问题

VFP中引用索引文件的问题,第1张

以下VFP帮助文件中的内容:

SET INDEX 命令

打开一个或多个索引文件,供当前表使用。

SET INDEX TO [IndexFileList | ? ] [ORDER nIndexNumber

| IDXIndexFileName | [TAG] TagName [OF CDXFileName] [ASCENDING

| DESCENDING]] [ADDITIVE]

参数

IndexFileList

指定要打开的一个或多个索引文件。用逗号分隔列表中的多个索引文件。索引文件列表可以包含任意个 .idx 和 .cdx 索引文件名;除非有相同名称的 .idx 或 .cdx 文件存在,否则不必包含文件扩展名。索引文件列表中的第一个索引文件变为主控索引文件,它控制如何访问和显示记录。如果第一个索引文件是 .cdx 文件且没有发出 SET ORDER TO TAG 命令,则按物理记录顺序显示和访问记录。

?

显示打开对话框,从中可以打开单索个 .idx 文件。

ORDER nIndexNumber

指定主控索引文件或标识。数值表达式 nIndexNumber 指定索引文件列表中出现的索引文件。首先按索引文件列表中出现的顺序给 .Idx 文件编号。然后按照创建标识的顺序对结构索引 .cdx 文件(如果存在)中的标识进行编号。最后,按照创建文件的顺序对独立索引 .cdx 文件中的标识进行编号。有关对索引文件和标识编号的详细描述,请参见 SET ORDER。如果 nIndexNumber 为 0,则以物理顺序显示和访问表中的记录,但仍保持索引文件的打开。以物理顺序访问记录时,ORDER 0 能够更新打开的索引文件。不带附加参数的 ORDER 等价于 ORDER 0。如果 nIndexNumber 大于 .idx 文件和 .cdx 文件标识的数目,则 Visual FoxPro 将产生一条错误信息。

ORDER IDXIndexFileName

指定一个 .idx 文件作为主控索引文件。

ORDER [TAG] TagName[OF CDXFileName]

指定一个 .cdx 文件的标识(TagName)作为主控标识。标识名可以来自结构索引 .cdx 文件或任何打开的独立索引 .cdx 文件。在打开的独立索引 .cdx 文件中,如果存在相同名称的标识,则应适用 OF CDXFileName 指定标识所在的 .cdx 文件。

ASCENDING | DESCENDING

指定显示和访问表记录时,是以升序还是降序进行。索引文件或标识不做任何改变;只改变记录显示和访问的顺序。应在 ORDER 子句之后紧接着包含 ASCENDING 或 DESCENDING 子句。

ADDITIVE

指定前面所打开的一个索引文件(除了结果复合索引),在发出 SET INDEX 命令打开另一个索引文件或表文件时保持打开。不带 ADDITIVE 子句,将关闭先前打开的文件。

说明

在存在索引文件的表中,记录的显示和访问顺序,可以由某个索引文件来决定。使用 SET INDEX 可以打开单索引(.idx)和复合索引(.cdx)文件。如果表存在结构索引 .cdx 文件,则在打开表时自动打开该文件。

只有一个 .idx 文件(主控索引文件) 或 .cdx 文件中的标识(主控标识)控制表中显示和访问记录的顺序。某些命令(如 SEEK)使用主控索引文件或标识来搜索记录。

发出不带附加参数的 SET INDEX TO 命令,将关闭在当前工作区中所有打开的索引文件(除了结构索引 .cdx 文件)。

DELETE TAG 命令

从复合索引文件(.cdx)中删除一个标识或多个标识。下面是语法的 2 个版本:

DELETE TAG TagName1 [OF CDXFileName1] [, TagName2 [OF CDXFileName2]]...

DELETE TAG ALL [OF CDXFileName]

参数

TagName1 [OF CDXFileName1] [, TagName2 [OF CDXFileName2]] ...

指定要从复合索引文件中删除的标识。可以使用包含一系列用逗号隔开的标识名的 DELETE TAG 命令删除多个标识。如果在打开的多个索引文件中有 2 个或更多的同名的标识,可以通过包含 OF CDXFileName 从某一特定的索引文件中删除一个标识。

ALL [OF CDXFileName]

从复合索引文件中删除所有标识。如果当前表中有结构复合索引文件,就从该索引文件中删除所有的标识,并从磁盘上删除该索引文件,表头上标明有一个关联的结构符合索引文件存在的标记同时被删除。使用带有OF CDXFileName 的 ALL,可以从另一个打开的复合索引文件中删除所有标识,而不是从结构复合索引文件中删除标识。

说明

用 INDEX 创建的复合索引文件包含与索引项相对应的标识。DELETE TAG 由来从打开的复合索引文件中删除一个或多个标识,可以只删除在当前工作区中打开的复合索引文件的标识。如果删除了一个复合索引文件中的所有标识,文件就从磁盘上删除。

Visual FoxPro 首先在结构符合索引文件(如果打开了一个的话)中查找一个标识。如果此标识不在结构复合索引文件中,Visual FoxPro 就在其它打开的复合索引文件中查找。

如果试图删除一个主索引标识或候选索引标识,且 SET SAFETY 为 ON,Visual FoxPro 将发出警告。

可以删除啊,除了主索引删除后,可能导致本表的实体完整性受影响,数据库表的参照完整性受到影响,候选索引删除也可能会影响到本表的实体完整性外,其他索引的删除无非会产生这样两个后果:表间联系被去掉,大多数时候只是会影响到查找的速度而已

上面说的主要都是结构复合索引cdx文件里面的,那个普通索引idx文件本来就是一个独立的文件,删除了也不会影响到原始表


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12190692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存