更新已取消:尝试使用多个连接行中的值更新目标行

时间:2014-01-17 06:52:15

标签: netezza

我在运行更新声明时遇到以下问题:

  

更新已取消:尝试使用多个连接行的值

更新目标行

1 个答案:

答案 0 :(得分: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