从CTE删除时出错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从CTE删除时出错相关的知识,希望对你有一定的参考价值。

with CTE AS
(
    select AGENT_USERID,
           ROW_NUMBER() OVER(PARTITION BY AGENT_USERID ORDER BY (agent_USERID)) AS RN
    FROM KYCKEN.PAP_KYCAGENTCONFIG
)
DELETE FROM CTE where RN > 1

我收到运行查询时需要语句的错误。之前没有代码。使用查询删除重复项。选择代替删除工作正常,但使用删除抛出错误。

答案

适用于Linux / Unix / Windows的Db2接受以下语法:

with cte as
  (
    select agent_userid
          ,row_number() over (partition by agent_userid order by (agent_userid)) as rn
    from kycken.pap_kycagentconfig
  )
select agent_userid as agent_userid_to_delete 
from old table
  ( delete from kycken.pap_kycagentconfig
    where agent_userid in (select agent_userid from cte where rn > 1) 
  )
;
另一答案

在DB2上,尝试这样的事情:

DELETE FROM KYCKEN.PAP_KYCAGENTCONFIG f0
where rrn(f0) in 
(
  select f2.rnwrite 
  from  (
            select f1.AGENT_USERID, rrn(f1) rnwrite, 
            ROWNUMBER() OVER(PARTITION BY f1.AGENT_USERID ORDER BY f1.agent_USERID) AS RN
            FROM KYCKEN.PAP_KYCAGENTCONFIG f1
        ) f2 
  where f2.RN>1

)

以上是关于从CTE删除时出错的主要内容,如果未能解决你的问题,请参考以下文章

使用片段从数据库 SQLite 获取数据时出错

H2 数据库:在 CTE 中使用窗口函数时出错

从firebase检索图像以在片段中的回收器视图时出错

ActivityNotFoundException,启动活动时出错

将数据从一个片段发送到另一个片段时出错。 (两个片段都由一个活动托管)

当我尝试在片段中显示或隐藏浮动操作按钮时出错