在ADOQuery3的SQL属性中代码如下:
update t_stointemp,t_store
set t_store.dqsl=t_store.dqsl+t_stointemp.sl
WHERE t_stointemp.spbh=t_store.spbh And t_stointemp.clabel=t_store.clabel
原来在ACCESS数据库中没问题,但我换了SQL2000后,运行程序提示
第1行:","附近有语法错误
怎么解决?谢谢!!
update t_stointemp,t_store
set t_store.dqsl=t_store.dqsl+t_stointemp.sl
WHERE t_stointemp.spbh=t_store.spbh And t_stointemp.clabel=t_store.clabel
原来在ACCESS数据库中没问题,但我换了SQL2000后,运行程序提示
第1行:","附近有语法错误
怎么解决?谢谢!!
解决方案 »
- DBGridEh,如何通过字段名查找列?
- 在Delphi中如何得到查询数据库所耗的时间
- 我写的程序,连接数据库时,提示是病毒攻击,怎么回事???
- 这样的语句是不是导致CPU占用100%的原因
- 急,急,急:为什么我在调试一个程序的时候,它会跳到delphi的源文件中?
- 没可用分了,帮帮我!一个简单问题!
- 那位高手告诉我利用delphi6的哪个控件实现点对点的文件传输?
- 为什么在ORACLE中这样的语句就不支持了?
- Mscomm 控件接收数据丢失问题(中间部分数据丢失,不定时出现)。
- 为什么exit()在DELPHI3中好用而在DELPHI5中不好用?
- 如何在容器控件(Panel,Groupbox等)中添加控件(checkbox,radiobutton等)
- 请教关键字is附近有错误问题
update (select table1.col2,table1.col3 from table1,table2 where table1.col1=table2.col1
and table2.col2='AA') set table1.col2='a',table2.col3='b'
2.采用此种样式
UPDATE dbo.Table2
SET dbo.Table2.ColB = dbo.Table2.ColB + dbo.Table1.ColB
FROM dbo.Table2
INNER JOIN dbo.Table1
ON (dbo.Table2.ColA = dbo.Table1.ColA);
UPDATE A SET col2='a', col3='b'
FROM
(
SELECT table1.col2, table1.col3
FROM
table1, table2
WHERE table1.col1=table2.col1 AND table2.col2='AA'
) A
update a
set a.dqsl=a.dqsl+b.sl
from t_stointemp b,t_store a
WHERE b.spbh=a.spbh And b.clabel=a.clabel这样就行,但是如果b表中有多条和a表对应,那么a.dqsl最后更新的是匹配的最后一条记录的值,这个要注意
access 没这么用过,但是sql的确是这样做的,
这个提示就是 update 后面那个“,”引发的
set a.dqsl=a.dqsl+b.sl
from t_stointemp b,t_store a
WHERE b.spbh=a.spbh And b.clabel=a.clabel