我的陈述是这样的,
update DATA_SOURCE tgt
set
tgt.DATA_SOURCE_NM=src.DATA_SOURCE_NM,
tgt.ODS_UPDATE_TS=src.ODS_UPDATE_TS
select DATA_SOURCE_NM,ODS_UPDATE_TS
from DATA_SOURCE_BKP src
where tgt.DATA_SRC_ID=src.DATA_SRC_ID;
我收到以下错误消息:
错误^找到" SELECT" (在char 103)期待关键字
我正在使用Aginity工作台进行netezza。我做错了什么?
答案 0 :(得分:0)
试试这个
update tgt
set
tgt.DATA_SOURCE_NM=src.DATA_SOURCE_NM,
tgt.ODS_UPDATE_TS=src.ODS_UPDATE_TS
from DATA_SOURCE tgt
inner join DATA_SOURCE_BKP src on tgt.DATA_SRC_ID=src.DATA_SRC_ID;
- 其中
可能是你可以在最后添加一个where子句来过滤更多的条件
答案 1 :(得分:0)
你应该留下select关键字并在FROM之后进行连接。 我找到了这个解决方案:https://stackoverflow.com/a/2334741/2377961
在你的情况下:
update DATA_SOURCE tgt
set
tgt.DATA_SOURCE_NM=src.DATA_SOURCE_NM,
tgt.ODS_UPDATE_TS =src.ODS_UPDATE_TS
FROM
DATA_SOURCE_BKP src, DATA_SOURCE_BKP tgt
WHERE
tgt.DATA_SRC_ID=src.DATA_SRC_ID
应该这样做。 FROM部分的工作方式与:
相同FROM
DATA_SOURCE_BKP
INNER JOIN
DATA_SOURCE_BKP
ON
DATA_SOURCE_BKP.DATA_SRC_ID = DATA_SOURCE_BKP.DATA_SRC_ID
答案 2 :(得分:0)
删除行
时有效选择DATA_SOURCE_NM,ODS_UPDATE_TS