首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在pl/sql中更新多行

如何在pl/sql中更新多行
EN

Stack Overflow用户
提问于 2017-02-25 02:03:14
回答 2查看 524关注 0票数 0

我正尝试在查询的每一行上更新表中的一列。我的代码是:

代码语言:javascript
代码运行次数:0
运行
复制
UPDATE CUSTOM_ISR_ASSET_DETAILS SET COUNTSYSTEMASSETS = ( Select  Count(PARENT_ID) as COUNTSYSTEMASSETS 
                              from PM_ENTITY 
                              inner join
                                (SELECT 
                                pm_entity.PM_ENTITY_ID,
                                response_text.response_text
                                FROM pm_entity 
                                INNER JOIN response_text  
                                ON pm_entity.pm_entity_id=response_text.parent_id 
                                AND response_text.question_id = '000ZLIJCA0003MI82Z000UWLUTG000000P4V') TBL_StandardRollup
                              on PM_ENTITY.PM_ENTITY_ID = TBL_StandardRollup.PM_ENTITY_ID
                              WHERE (TBL_StandardRollup.response_text = 'Standard')
                              group by PARENT_ID); 

我尝试做的是用每个父id的计数来更新每一行,但很明显,这返回了>1行,所以更新失败。所以,我不能用这段sql代码来做这件事。

如何才能使用父ids的计数更新每一行?

EN

Stack Overflow用户

发布于 2017-02-25 02:58:12

请尝试使用merge语句。这将类似于:

代码语言:javascript
代码运行次数:0
运行
复制
merge into CUSTOM_ISR_ASSET_DETAILS c
using (/*YOUR SUB_QUERY*/) d
on (d.response_text = c./*what column 'standard' come from*/)
when matched then update set COUNTSYSTEMASSETS = d.COUNTSYSTEMASSETS;

我不能定义什么是连接条件。我猜'standard'的值是从哪里来的。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42445414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档