栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Oracle触发器ORA-04098:触发器无效且重新验证失败

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Oracle触发器ORA-04098:触发器无效且重新验证失败

Oracle将尝试重新编译引用的无效对象。在这里,触发器是无效的,并且每次尝试插入一行时,它将尝试重新编译触发器,但失败,这将导致ORA-04098错误。

您可以

select * from user_errors where type = 'TRIGGER' and name ='NEWalert'
查看触发器实际发生的错误以及为什么不进行编译。在这种情况下,您似乎在行尾缺少分号
insert

INSERT INTO Users (userID, firstName, lastName, password)VALUES ('how', 'im', 'testing', 'this trigger')

因此,使它:

CREATE OR REPLACE TRIGGER newalertAFTER INSERT OR UPDATE ON alerts  BEGIN        INSERT INTO Users (userID, firstName, lastName, password)        VALUES ('how', 'im', 'testing', 'this trigger');  END;/

如果在执行操作时收到编译警告,

show errors
则可以使用SQL * Plus或SQL
Developer,也可以
user_errors
再次查询。

当然,这假设您的

Users
表确实具有这些列名,并且它们都是
varchar2
…但是,大概您将对触发器做一些更有趣的事情。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/386998.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号