更新取消:尝试使用来自多个连接行的值更新目标行
Posted
技术标签:
【中文标题】更新取消:尝试使用来自多个连接行的值更新目标行【英文标题】:Update canceled: attempt to update a target row with values from multiple join rows 【发布时间】:2014-01-17 06:52:15 【问题描述】:我在运行更新语句时遇到以下问题:
【问题讨论】:
【参考方案1】:当您尝试多次更新一行时会发生此错误。下面是一个简单的例子。
create temp table valuetst (
column1 varchar(10)
)
distribute on random;
insert into valuetst
select 'tstval'
update valuetst u set u.column1=aa.test
from (select 'tstval' as column1, 'asdasd' as test
union all
select 'tstval' as column1, 'number2' as test) aa
where u.column1=aa.column1
为避免该错误,您需要确保只要求表格每行更新一次。
正确更新示例
update valuetst u set u.column1=aa.test
from (select 'tstval' as column1, 'asdasd' as test) aa
where u.column1=aa.column1
【讨论】:
以上是关于更新取消:尝试使用来自多个连接行的值更新目标行的主要内容,如果未能解决你的问题,请参考以下文章