首页 > 解决方案 > 从 DB2 中选择查询的输出对每条记录进行批量更新查询

问题描述

我需要根据每个记录的以下选择查询的输出来更新 TEST 表中存在的字段 CXDEMO。此查询的输出带来 10000 条记录,因此我想知道是否有一种简单的方法可以为每条记录准备 10000 条更新查询。

select A.item, B.description,A.id from TEST A 
left join TEST B on A.item=B.item and A.id <> B.id
where B.item is null
order by A.id, A.item

应该如下所示的输出,

update TEST set CXDEMO='123' where item ='1000' and id='ROD'
update TEST set CXDEMO='123' where item = '1001' and id ='TABLE'

标签: db2

解决方案


尝试这个:

select 'UPDATE TEST SET CXDEMO=''123'' WHERE ITEM=''' || A.item || ''' AND ID=''' || A.id || ''';'
from TEST A 
left join TEST B on A.item=B.item and A.id <> B.id
where B.item is null
order by A.id, A.item

推荐阅读