返回顶部
首页 > 资讯 > 错误编码 >ORA-25017: cannot reference NEW ROWID for movable rows in before triggers ORACLE 报错 故障修复 远程处理
  • 123
分享到

ORA-25017: cannot reference NEW ROWID for movable rows in before triggers ORACLE 报错 故障修复 远程处理

报错故障reference 2023-11-05 08:11:34 123人浏览 独家记忆
摘要

文档解释 ORA-25017: cannot reference NEW ROWID for movable rows in before triggers Cause: NEW ROWID was referenced in a befo

文档解释

ORA-25017: cannot reference NEW ROWID for movable rows in before triggers

Cause: NEW ROWID was referenced in a before row trigger which is defined on an index-organized table, or a partitioned table with enabled movement of rows. The ROWID cannot be computed in a before row update trigger because it depends on the actual values of the row

Action: Remove references to NEW ROWID from the trigger definition.

ORA-25017: 不允许在before触发器中引用可移动行的NEW ROWID

官方解释

当在一个before触发器中查询系统表NEW,将会导致ora-25017错误。25017 代码表明,当在before触发器中使用系统表NEW时,未引用可移动行。

常见案例

当在before触发器中查询系统表NEW时,将导致ORA-25017错误。最可能在delete或update操作时发生,如果该表有before触发器,便可能导致该错误。

一般处理方法及步骤

1. 避免使用触发器,而是把相关逻辑放到应用层中。

2. 如果必须使用触发器,那么注意当在before触发器中不要引用可移动行的NEW ROWID。

3. 使用for each row模式时,可以使用:NEW.COLUMN,但是不能直接使用NEW ROWID,因为在不同的数据库操作系统中ROWID的存储方式不同。

--结束END--

本文标题: ORA-25017: cannot reference NEW ROWID for movable rows in before triggers ORACLE 报错 故障修复 远程处理

本文链接: https://lsjlt.com/news/537491.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作