数据仓库服务 GAUSSDB(DWS)-更新报错ERROR:Non-deterministic UPDATE:解决方案

时间:2024-05-07 20:29:47

解决方案

建议根据业务实际情况调整update语句。比如分析public.t2的字段含义,确定更新的目标字段。针对上述案例,如果期望在a值相等的情况下,把public.t1中字段b更新为public.t2中的最大值,那么可以修改为如下逻辑:

1
2
3
4
5
6
7
UPDATE t1 SET t1.b = t2.b_max FROM (SELECT a, max(b) AS b_max FROM t2 GROUP BY a) t2 WHERE t1.a = t2.a;
UPDATE 1
SELECT * FROM public.t1;
 a | b
---+---
 1 | 2
(1 row)
support.huaweicloud.com/trouble-dws/dws_09_0129.html