Functions.SetUnique 方法 | |
返回并可选地更改设置,以确定在顺序中是否包含唯一记录键。
命名空间:
XSharp.Core
程序集:
XSharp.Core (在 XSharp.Core.dll 中) 版本:2.22 GA
语法 FUNCTION SetUnique() AS LOGIC
public static bool SetUnique()
查看代码返回值
类型:
Boolean
如果未指定
lNewSetting,SetUnique() 返回当前设置。
如果指定了
lNewSetting,则返回之前的设置。
备注
SetUnique() 是一个数据库函数,控制创建的顺序是否具有唯一性属性。当指定 TRUE 时,新创建的顺序仅包括唯一键。
这与使用 INDEX...UNIQUE 命令创建顺序相同。
在大多数基于 DBF 的 RDD 中,非唯一键的处理方式是只包括对特定键值的记录引用一次。因此,在创建或更新唯一顺序时,如果遇到两个或多个具有相同键值的记录,则仅第一个记录会被包含在顺序中。当唯一顺序被更新、重新索引或打包时,仅维护唯一记录,而不考虑当前的 SetUnique() 值。
更改唯一顺序中的键值具有重要影响。首先,如果将唯一键更改为顺序中已存在的键的值,则更改的记录将从顺序中丢失。其次,如果数据库文件中有多个实例的键值,则更改可见键值不会在顺序中带来另一个具有相同键的记录,直到顺序被重建。
当指定 FALSE 时,创建的顺序包含所有记录。对数据库文件的后续更新将将所有键值添加到顺序中,而不考虑当前的 UNIQUE 设置。
请注意,已删除记录的键也会包含在索引中,并可能隐藏非删除记录的键。
示例
此示例设置一个例程,仅创建具有唯一键的记录的顺序:
1LOCAL lUniqueSetting AS LOGIC
2lUniqueSetting := SetUnique(TRUE)
3MyFunc()
4SetUnique(lUniqueSetting)
参见