BLANK 命令
如果发出该命令时不带任何参数,则清除当前记录中所有字段的数据。
BLANK [FIELDS FieldList] [DEFAULT [AUTOINC]] [Scope] [FOR lExpression1]
[WHILE lExpression2] [NOOPTIMIZE] [IN nWorkArea | cTableAlias]
参数
[FIELDS FieldList]
仅清除在 FieldList 中指定的字段。 如果省略了 FIELDS 子句,默认情况下清除该记录的所有字段的数据。在非选定工作区中指定的任何字段名都必须以工作区别名开始。
注意:
如果记录指针已指向当前工作区的文件末尾,那么 BLANK 命令不清除另一个相关工作区中记录的字段数据。要使 BLANK 命令能够作用在其他相关记录的字段上,记录指针必须指向当前工作区中一个已排序的记录。
[DEFAULT [AUTOINC]] *NEW
初始化指定字段为其默认值, DEFAULT 子句可以指定数据库中的表和游标(cursor)。如果没有指定字段,则初始化当前记录所有字段为默认值。 DEFAULT 不能使用在自由表上。AUTOINC 关键字指定包含所有自动增量的字段。如果省略 AUTOINC,自动增量字段使用其完整的原值。
注意:
执行更新自动增量字段时需要锁定表头。如果表文件以共享模式打开、没有锁定、并且 SET MULTILOCKS 命令设置为 OFF 时,发出带有 DEFAULT AUTOINC 子句的 BLANK 命令,Visual FoxPro 将产生一个错误。
Scope
指定要清除的记录范围。BLANK 的默认范围是当前记录 (NEXT 1)。只有在范围之内的记录才被处理。范围子句可以是:ALL, NEXTnRecords, RECORDnRecordNumber, 和 REST。包含 Scope 参数的命令仅对活动工作区中的表进行处理。有关范围子句的详细信息,请参见 范围(Scope)子句。
FOR lExpression1
清除使条件 lExpression1 结果为真(.T.)的记录中的字段数据。 若 lExpression1 为可优化表达式,则 Rushmore 查询优化 BLANK FOR 。有关 Rushmore 查询优化的详细内容,请参见 使用 Rushmore 查询优化数据访问速度。
WHILE lExpression2
指定要清除的记录字段数据应满足的条件,即令逻辑表达式 lExpression2 为真(.T.)。
NOOPTIMIZE
禁止 BLANK 进行 Rushmore 优化。有关的详细内容,请参阅 SET OPTIMIZE 和 使用 Rushmore 查询优化数据访问速度。
IN nWorkArea| cTableAlias
指定被 BLANK 命令影响的工作区或表别名。使用该子句来指定一个工作区或一个不在当前工作区中的表。