标题:求助:SQL 的Update命令,在VFP中到底应该怎样写?
只看楼主
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
得分:0 
以下是引用厨师王德榜在2013-2-16 13:55:35的发言:

回楼上的:我在机器上是这样运行的:
UPDATE ckddmx SET ckddmx.wlms4sql=NVL((SELECT jxk.Pname FROM jxk WHERE jxk.pcode=ckddmx.wldm),"")确定没有漏什么东西。

看来可能是因为8.0不支持From子句,如果我换成9.0,应该可以解决。

在知道原因的同时,我被另一个问题困扰:难道在8.0不支持From子句的情况下,用8.0的真的就不能解决这个问题吗?
或者说:假设在9.0尚未发布,大家都用8.0的时候,这样的问题就不能解决吗?

这里没有钻牛角尖的意思,纯是为了求知,欢迎各位继续讨论,讨论的标题就是:
假设在9.0尚未发布,大家都用8.0的时候,这样的问题该如何解决?

用你前面已知的两种方法,或update...replace去解决呀,呵呵。update...replace命令从FoxBase那时就支持FROM子句。所以说,8.0及以前版本对SQL语句都支持得不太好,9.0中已经大为改观,可惜还没完全到Oracle的程度就被微软叫停了。

[ 本帖最后由 taifu945 于 2013-2-16 14:00 编辑 ]
2013-02-16 13:59
厨师王德榜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
得分:0 
知道了,看来,我们是不是能得出这样的结论:
在8.0的时代,用纯粹的SQL语句无法解决这样的问题,必须配合循环或Set Relation语句来解决。
大家同意吗?
2013-02-16 14:02
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
得分:3 
vfp9:
Update ckddmx Set ckddmx.wlms4sql = jxk.pname from jxk Where ckddmx.wldm = jxk.pcode


既然都换8.0了,用9.0有啥呢
据说
8.0只是个过渡版本
功能不是太好
9.0 相对来说完美多了

个性太多,无法显示
2013-02-16 14:03
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
得分:1 
以下是引用厨师王德榜在2013-2-16 14:02:21的发言:

知道了,看来,我们是不是能得出这样的结论:
在8.0的时代,用纯粹的SQL语句无法解决这样的问题,必须配合循环或Set Relation语句来解决。
大家同意吗?

个人猜测:在8.0或以及版本中,微软没有重视与SQL、Oracle等大型数据库系统的兼容性。或许它想把VFP做成一个不同于自家SQL系统的一个数据库管理系统,如果功能太强大,怕影响SQL的用户份额。也或者是微软认为术有专攻,VFP就不应该与SQL同等地位(包括9.0版本),它应该定位于小型办公数据库管理方面。所以,没有必要配上和SQL同样的强大功能。这也是为什么VFP的终极版本都没有引入数据控制语言(DCL)的原因,也是为什么SELECT-SQL语句始终没有加入MINUS子句的原因,也是为什么某些SQL语句功能要比Oracle差一口气的原因。
2013-02-16 14:18
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:1 
回复 14楼 taifu945
微软在最新的.NET框架中也抛弃SQL了,原生的ADO驱动也不再有SQL的。SQL没那么完美,说非要支持它才算是进步。

授人以渔,不授人以鱼。
2013-02-16 14:23
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
得分:3 
以下是引用TonyDeng在2013-2-16 14:23:06的发言:

微软在最新的.NET框架中也抛弃SQL了,原生的ADO驱动也不再有SQL的。SQL没那么完美,说非要支持它才算是进步。
所谓进步,是纵向比较,是和VFP低版本比较。
2013-02-16 14:37
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:2 
以后有机会慢慢再说SQL的事。面向过程的数据查询手段是无法完全被取代的。

授人以渔,不授人以鱼。
2013-02-16 15:04
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
得分:0 
以下是引用TonyDeng在2013-2-16 15:04:13的发言:

以后有机会慢慢再说SQL的事。面向过程的数据查询手段是无法完全被取代的。

那肯定是的,毕竟SQL语句不是万能的,否则还要程序干什么。
2013-02-16 16:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-398636-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.413010 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved