【发布时间】:2017-12-15 07:29:51
【问题描述】:
我已经编写了这个更新语句来更新 DB2 中的记录。
UPDATE schemaname.tablename
SET fillerinfo = myfillerinfo
FROM schemaname.tablename,schemaname.tablename1
WHERE ID = uid1
AND PID=uuplanid
AND ACCTNO=uacctno
但是,在 AS400 DB2 上运行时。
我有这样的数据:
Table1 | Table2
fillerinfo |myfillerinfo
-----------|-------------
A | b
c | D
E | f
像上面一样,我有 50 万条记录。
显示错误:无法执行语句。
我收到错误:
关键字 FROM 不是预期的。有效令牌:使用 SKIP WAIT WITH WHERE。 原因 。 . . . . : 这里没有预期的关键字 FROM。语法 在关键字 FROM 处检测到错误。有效令牌的部分列表 在 WHERE 中使用 SKIP WAIT。此列表假定该语句是 更正到意外的关键字。错误可能早于 声明,但该声明的语法似乎对此有效 观点。恢复 。 . . : 检查区域中的 SQL 语句 指定的关键字。可能缺少冒号或 SQL 分隔符。 SQL 要求保留字在用作名称时进行分隔。 更正 SQL 语句并重试请求。
所以我参考了这个链接,看看它是否有帮助:https://oscarvalles.wordpress.com/2013/05/12/db2-update-with-inner-joins/
但是,上面链接中的这个例子显示更新单个记录。
如何使用 join 更新列中的多条记录?请提出建议。
【问题讨论】:
-
尽可能添加更多细节,如表结构和示例数据
标签: db2 db2-400 iseries-navigator