把一个计算字段的值赋给此表的实际字段
我不想用循环,请问可不可以用sql就能实际。
我单一的写了
SSDM.qryUpdateZZ.SQL.Add('update table_zz set sf=:zsf');
SSDM.qryUpdateZZ.ParamByName('zsf').AsFloat :=SSDM.qryZZSFJE.Value ;
SSDM.qryUpdateZZ.ExecSQL ;
这样的结果是所有的实际字段的值都为计算字段的第一个值。
不知道sql语句中的自连接可不可以实现?或者是加上where条件?
那就只有让DELPHI帮你循环保存了!用TUpdateSQL控件解决吧.设置一下ModifySQL的SQL如下形式:update 物理表名
set 物理字段名=:计算字段名称
where 主键=:主键
from table_zz b
where a.主键=b.主键
但我还是想不用循环,这样效率能高一些,还有其他方法吗
FROM table) AS ta1 SET table.cc = ta1.cc
WHERE table.id=ta1.id;
query.sql.clear;
query.sql.add('update 表名 set 要计算的字段=A+B-C(表示计算项名项)');
query.execsql();
肯定没问题。