VFP怎么删除null 值

VFP怎么删除null 值,第1张

给要删除的记录做标记

DELETE

FROM

[DatabaseName!]TableName

[WHERE

FilterCondition1

[AND

|

OR

FilterCondition2

]]

参数

FROM

[DatabaseName!]TableName

指定要给其中的记录加删除标记的表。

DatabaseName!

指定包含该表的非当前数据库名。如果数据库不是当前的数据库,必须加上包含有该表的数据库名。在数据库名的后面、表名的前面包含感叹号

(!)

分隔符。

WHERE

FilterCondition1

[AND

|

OR

FilterCondition2

]

指定

Visual

FoxPro

只给某些记录做删除标记。

FilterCondition

指定要做删除标记的记录必须满足的条件。可以包含许多筛选条件,它们用

AND

OR

*** 作符连接。也可以使用

NOT

*** 作符给一个逻辑表达式的值取反,或使用

EMPTY(

)

检查一个空的字段。

备注

带有删除标记的记录在执行

PACK

前并不从表中做物理删除。可以用

RECALL

命令恢复(清除标记)带有删除标记的记录。

如果

SET

DELETED

设置为

ON,则所有命令都忽略带有删除标记的记录。

你可以在运行

DELETE

-

SQL

命令后立即检查

_tally

系统内存变量的值来确定被命令标记为删除的记录的个数。

DELETE

不同,DELETE-SQL

在为以共享方式打开的表中的多个记录做删除标记时,会使用记录锁定技术。这会在多用户的情况下减少对记录的竞争,但可能会降低性能。要获得最佳性能,可以独占方式打开表,或使用

FLOCK(

)

锁定该表。

示例

下面的示例打开

testdata

数据库中的

customer

表。delete-sql

为字段

country

内容为

usa

的所有记录做删除标记。所有带有删除标记的记录都显示出来。recall

all

用来清除所有删除标记。

CLOSE

DATABASES

CLEAR

OPEN

DATABASE

HOME(2)+"Data\testdata"

USE

customer

&&

打开

customer

DELETE

FROM

customer

WHERE

country

=

"USA"

&&

删除标记

CLEAR

LIST

FIELDS

company,

country

FOR

DELETED()

&&

列出标记了的记录

如果文件在此时被

pack

记录将被删除

WAIT

WINDOW

"当前被标记为删除的记录"+CHR(13)

+

;

"按一键恢复"

去掉记录的删除标记

RECALL

ALL

CLEAR

检查恢复的记录

COUNT

FOR

DELETED()=T

TO

nDeleted

转换

nDeleted

到一个字符串并显示信息

WAIT

WINDOW

ALLTRIM(STR(nDeleted))

+

"

记录标记为删除。"

编程

思路,生成一个新的数据库,从旧的数据库中提取数据,如果记录在新数据库中存在,就不复制,如果不存在,就将记录复制到新数据库中!这样的话就没重复的数据了

假定原数据是保存在sjdbf中,则程序如下:

use sj

copy to temp &&将原数据库内容复制到临时数据库中

zap &&清空原数据库

use temp

jlh=1

stro recc() to jls &&将原记录条数保存到变量中

do whil jlh<=jls &&依次判断在新表中是否存在重复记录

go jlh

stor code to lsbl &&将code字段的值保存在变量中

use sj

loca for code=lsbl

if found()

else

clos data

use temp

copy to lswj for recn()=jlh &&将没有找到的记录可在在临时文件中

use sj

appe from lswj &&从临时文件中追加记录

clos data

dele file lswjdbf &&删除产生的临时文件

endi

jlh=jlh+1

use tmep

endd

clos data

dele file tempdbf &&删除临时文件

再重新打开原数据库后,你会发现已经没重复的记录了

delete - sql 命令

给要删除的记录做标记。

语法

DELETE FROM [DatabaseName!]TableName

[WHERE FilterCondition1 [AND | OR FilterCondition2 ]]

参数

FROM [DatabaseName!]TableName

指定要给其中的记录加删除标记的表。

DatabaseName! 指定包含该表的非当前数据库名。如果数据库不是当前的数据库,必须加上包含有该表的数据库名。在数据库名的后面、表名的前面包含感叹号 (!) 分隔符。

WHERE FilterCondition1 [AND | OR FilterCondition2 ]

指定 Visual FoxPro 只给某些记录做删除标记。

说明

带有删除标记的记录在执行 PACK 前并不从表中做物理删除

recall

只是恢复当前选中的带删除标记的记录

recall

all

恢复所有带删除标记的记录

recall

for

条件表达式

恢复满足条件的带删除标记的记录

如:recall

for

性别="男"

以上就是关于VFP怎么删除null 值全部的内容,包括:VFP怎么删除null 值、vfp中如何删除重复数据、如何用SQL彻底删除VFP的记录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/9704110.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存