遭遇ora-30962错误
30926, 00000, "unable to get a stable set of rows in the source tables"
// *Cause: A stable set of rows could not be got because of large dml // activity or a non-deterministic where clause. // *Action: Remove any non-deterministic where clauses and reissue the dml.merge的源表中有重复记录,去重后该错误消失。
- --处理重复记录
- SELECT userid FROM t_raugh GROUP BY userid HAVING COUNT(*) > 1;
- DELETE t_raugh
- WHERE ID IN (SELECT a.ID
- FROM (SELECT b.id,
- b.userid,
- b.operdate,
- row_number() over(PARTITION BY b.userid ORDER BY b.operdate DESC) rn
- FROM t_raugh b
- WHERE b.userid IN (25468911,
- 25467429,
- 25464008,
- 25466351,
- 25464129,
- 25464805,
- 25468403,
- 25466240,
- 25467371,
- 25467777,
- 25464193,
- 25468734,
- 25464215,
- 25464596,
- 25467334,
- 25459985,
- 25468964,
- 25464928,
- 25469118,
- 25465790,
- 25466484,
- 25467080,
- 25468491,
- 25469197,
- 25467072,
- 25468492,
- 25467930,
- 25466768,
- 25463448,
- 25467653,
- 25468505,
- 25464075,
- 25468870,
- 25468971,
- 25467491)) a
- WHERE a.rn > 1)