ORA-04098: 简单触发器无效。为啥?

Posted

技术标签:

【中文标题】ORA-04098: 简单触发器无效。为啥?【英文标题】:ORA-04098: Simple trigger is invalid. Why?ORA-04098: 简单触发器无效。为什么? 【发布时间】:2009-10-26 15:32:01 【问题描述】:

这个触发器有问题。但是什么?

CREATE  TRIGGER MYCOOLTRIGGER
AFTER INSERT ON MYCOOLTABLE
REFERENCING NEW AS newRow
FOR EACH ROW
DECLARE
BEGIN
END  MYCOOLTRIGGER;

SQL 开发人员输出:

Warning: execution completed with warning
TRIGGER MYCOOLTRIGGER Compiled.

有没有办法获得有关此警告的更多信息?

附言

这个问题可以使用更好的标题。 ;)

【问题讨论】:

【参考方案1】:

Oracle 要求您有介于 BEGINEND 之间的内容。

您可以使用NULL(无操作):

CREATE OR REPLACE TRIGGER MYCOOLTRIGGER
AFTER INSERT ON MYCOOLTABLE
REFERENCING NEW AS newRow
FOR EACH ROW
DECLARE
BEGIN
    NULL;
END  MYCOOLTRIGGER;

【讨论】:

【参考方案2】:

如果您想查看错误是什么:

show errors trigger mycooltrigger;

【讨论】:

以上是关于ORA-04098: 简单触发器无效。为啥?的主要内容,如果未能解决你的问题,请参考以下文章

ORA -04098 触发器无效且未通过重新验证

Oracle:新增用户登录提示“ORA-04098:触发器‘GD.ON_LOGON_TRIGGER’无效且未通过重新验证”

SQL 触发器错误 ORA-04098

oracle 触发器抛出 ora-04098

删除oracle 11g用户删除不掉,报ORA-04098错误!

解决一个触发器错误