我编写了这个更新语句来更新 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
像上面一样,我有 500K 记录。
其显示错误:无法执行语句。
我收到错误:
关键字 FROM 不是预期的。有效令牌:使用 SKIP WAIT WITH WHERE。原因 。. . . . : 这里没有预期的关键字 FROM。在关键字 FROM 中检测到语法错误。有效令牌的部分列表是 USE SKIP WAIT WITH WHERE。此列表假定该语句在出现意外关键字之前是正确的。错误可能出现在语句的前面,但语句的语法在这一点上似乎是有效的。恢复 。. . :检查指定关键字区域中的 SQL 语句。可能缺少冒号或 SQL 分隔符。SQL 要求在将保留字用作名称时对其进行分隔。更正 SQL 语句并再次尝试请求。
所以我参考了这个链接,看看它是否有帮助: https ://oscarvalles.wordpress.com/2013/05/12/db2-update-with-inner-joins/
但是,上面链接中的这个例子显示更新单个记录。
如何使用连接更新列中的多条记录?请建议。