精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VFP>>〖数据处理〗>>Select-SQL 输出的临时表不是不可写的

主题:Select-SQL 输出的临时表不是不可写的
发信人: hunter__fox(雁回西楼)
整理人: hunter__fox(2002-03-16 22:15:51), 站内信件
朋友们,你有没有想过,临时表不一定是只读的喔。。。。
且不说 Create Cursor 语句生成的临时表,
即使 Select -SQL 生成的临时表,也有办法让它成为可写的。。。请看:

Use FoxUser In 0 Alias FoxUser
Select * From FoxUser Into Cursor curTmp
Use DBF("curTmp") In 0 Alias curWrite Again
Use In FoxUser

这样,临时表 curWrite 就是可写的了。。。
实际上,Select - SQL 生成的临时表只读是为了保证源表不变时,不必对生成的临时表更新的一个措施,通过再次打开这个临时表的方式,就可使用与 Create Cursor 生成的临时表一样可写入,注意第三句中的 "Again" 子句,它表示打开一个同步的副本,注意,它们是同一个临时表,并不是两个一样的表。这意味著,你对临时表 curWrite 的操作,将直接反应到临时表 curTmp 中。
通过这种方式,我科就可以让用户在输入过程中,动态的建立自己的数据项而不必再将一个远程的或一个巨大的表格再查询一次,我们只要在对源表 Insert 后,对这个临时表的副本也进行一次 Insert 即可。这样的一个小技巧,在处理大数据时,可让你的用户少等待半秒到一秒,那就是很好的现象了。


----
在代码天地里
我要做一个
猎狐者    

[关闭][返回]