oracle11g - 从另一个表更新记录时出错:SQL 错误:ORA-30926:无法在源表中获得一组稳定的行
问题描述
当我根据 ID 从另一个表 stg_v_a 更新一个表的历史记录时,我收到以下错误:
错误报告 -
SQL Error: ORA-30926: unable to get a stable set of rows in the source tables
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 into dim dca
using (
select ID,a_stat,a_ordl
FROM et.stg_v_a
) stg ON (stg.ID=dca.ID__V and dca.ad_st__v=stg.ad_st AND dca.ID__V is not null)
when matched then update
set DCA.A_ORDL= stg.A_ORDL, DCA.a_updt_dt=sysdate;
任何人都可以帮助我或建议另一种方法吗?
解决方案
推荐阅读
- influxdb - 如何在电报中舍入输出值?
- java-8 - 如何从jdk 8中的另一个列表添加到列表
- flutter - 未处理的异常:在构造函数中调用 setState():....(生命周期状态:已创建,无小部件,未安装)在 Flutter 中
- c++ - Visual Studio C++ 本机单元测试链接器错误 LNK2001 链接器找不到测试类成员变量
- android - addTextChangedListener 立即触发
- dialogflow-cx - 在哪里可以找到 DialogFlow CX 代理 ID?
- reactjs - 在 React 中获取 Azure Devops 构建 ID
- javascript - 如何在 dojox 中使用 undo 功能?
- jenkins - Jenkins SSH 身份验证:手动信任与手动提供的密钥
- vmware - 通过 vmware 在 RHEL 8 上运行 KNI 示例程序时出现问题