Navicat ORA-24344: success with compilation error

1.情景展示

在使用Navicat创建触发器时,报错信息如下:

ORA-24344: success with compilation error

Navicat ORA-24344: success with compilation error

2.原因分析

意思是:该触发器创建成功,但是,编译失败。

如何解决?

3.解决方案

以Oracle为例进行示范说明

首先,我们需要确定的是:自己写的SQL脚本到底有没有问题?

最简单的解决方案就是:把SQL放到plsql中进行执行。

查看代码

CREATE 
	OR REPLACE TRIGGER TRIGGER_META_THEME_TABLE BEFORE INSERT ON META_THEME_TABLE FOR EACH ROW
BEGIN
	IF
		( NEW.ID IS NULL ) THEN
		SELECT
			SEQ_META_THEME_TABLE.NEXTVAL INTO :NEW.ID 
		FROM
			DUAL;
	END IF;
END;

我们可以看到:

在plsql当中,触发器创建成功; 

Navicat ORA-24344: success with compilation error 

接下来,看一下该触发器有没有编译错误?

Navicat ORA-24344: success with compilation error

在plsql当中,我们可以看到具体的错误原因。

按照错误提示进行修改:

CREATE OR REPLACE TRIGGER TRIGGER_META_THEME_TABLE
  BEFORE INSERT ON META_THEME_TABLE
  FOR EACH ROW
  WHEN (NEW.ID IS NULL)
BEGIN
  SELECT SEQ_META_THEME_TABLE.NEXTVAL INTO :NEW.ID FROM DUAL;
END;

再次执行,没有报错信息的话,就说明创建的触发器可用。

Navicat ORA-24344: success with compilation error

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

上一篇:方法重载 重点看方法名和参数


下一篇:省选模拟18