You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DB2 i Series表TIMESTAMP字段更新失败:FROM关键字报错排查

DB2 i Series 关联更新TIMESTAMP字段错误解决

你的问题出在使用了SQL Server风格的UPDATE写法,但DB2 for i(i Series)并不支持这种带FROM子句的UPDATE语法,因此触发了Keyword FROM not expected的报错。下面是两种符合DB2语法的解决方案:

方案一:用EXISTS子句关联表

适合仅需判断关联关系存在的简单场景,直接在WHERE子句中过滤出需要更新的行:

UPDATE table1
SET datetime1 = CURRENT TIMESTAMP
WHERE EXISTS (
    SELECT 1
    FROM table2 tbl2
    WHERE table1.ID = tbl2.ID
)

方案二:使用MERGE语句(官方推荐)

MERGE是DB2官方推荐的多表关联更新写法,灵活性更强,能适配更复杂的关联更新场景:

MERGE INTO table1 tbl1
USING table2 tbl2 ON tbl1.ID = tbl2.ID
WHEN MATCHED THEN
    UPDATE SET datetime1 = CURRENT TIMESTAMP

两种写法都能实现你的需求:将table1中与table2 ID匹配的行的datetime1字段更新为当前时间戳。

内容的提问来源于stack exchange,提问作者bmiguelh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 09:45:39