如何解决带内部联接的 DB2 删除
试图从其他表中存在匹配记录的表中删除。
我尝试了不同的变体,但这个变体又回来了:
sql 错误 [42601]:[sql0199] 不需要关键字 INNER。有效令牌:使用 SKIP WAIT WITH FETCH LIMIT ORDER WHERE OFFSET。
它基本上是一个跨库/跨数据库,但不能让 DB2 发挥作用。选择工作得很好,如果我用 SELECT *
替换删除 DELETE a
FROM INHOUSE.ANDREWCAT a
INNER JOIN ERPLIB.SRBPRG b ON
a.PSPRDC = b.PGPRDC
INNER JOIN ERPLIB.SRBRSD c
ON
b.PGIRGP = c.RDSRTY
AND c.RDTOFI = a.EPNUM AND c.RDSRTY = c.RDWHAT
AND a.EPNUM = 'REM104'
解决方法
DB2 不支持您使用的语法。
相反:
DELETE INHOUSE.ANDREWCAT a
WHERE EXISTS (SELECT 1
FROM ERPLIB.SRBPRG b JOIN
ERPLIB.SRBRSD c
ON b.PGIRGP = c.RDSRTY
WHERE a.PSPRDC = b.PGPRDC AND
c.RDTOFI = a.EPNUM AND
c.RDSRTY = c.RDWHAT AND
a.EPNUM = 'REM104'
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。