请教一个DB2数据库 SQL update 语句

请教一个DB2数据库 SQL update 语句,第1张

表A,有6个字段,id,a,b,c,d,e,其中主键是id,a,b,c。a1=a2,b1=b2,c1=c2 有3条记录:

1,a1,b1,c1,d1,e1

2,a2,b2,c2,d2,e2

3,a3,b3,c3,d3,e3

update tablename set e=(select sum(e) from tablename where a=a1) where id = 1

查询出 a=a1 即 1,2 列并将e求和,然后赋值给 id=1这一列的e字段上

是想问修改的记录数?

执行db2 -m进入,

db2 =>list command options

其中

-m显示受影响的行数 ON

db2 =>update test100 set c=0

受影响的行数:3

DB20000I SQL 命令成功完成。

也可以先执行一条SELECT语句将合乎条件的记录数选择出来。例如:

select count(*) from a where ...

然后执行update。当然严重影响效率。

日志中如果采用前像后像技术会有一页中修改多条记录等情况的。

UPDATE T_PM_USER USER

SET USER.FNUMBER =

(SELECT PER.FNUMBER

FROM (SELECT PER.FID, PER.FNUMBER

FROM T_ORG_ADMIN AD

INNER JOIN T_HR_PERSONPOSITION PERPO

ON AD.FID = PERPO.FPERSONDEP

INNER JOIN T_BD_PERSON PER

ON PERPO.FPERSONID = PER.FID

WHERE AD.FNAME = '财务处') TEMP

WHERE USER.FPERSONID = TEMP.FID)

着急下班,不知道关联的字段对不对。答题思路是这样


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

原文地址: https://outofmemory.cn/sjk/9918025.html

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

发表评论

登录后才能评论

评论列表(0条)

保存