Navicat 触发器ORA-24344: success with compilation error 20256877编辑

Heaven helps those who help themselves
资深码农+深耕理财=财富自由
欢迎关注

Navicat 触发器ORA-24344: success with compilation error

Created by Marydon on 2022-02-17 11:22

1.情景展示

在使用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当中,触发器创建成功; 

 

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

在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对上述SQL进行美化的时候,Navicat会将:和NEW.ID分开,注意,它俩不能分开,如果分开的话,会导致触发器和引起触发器的操作无法运行!

4.其它

在Navicat当中,我们有两种方式对触发器进行可视化操作。

方式一:通过表操作;

选中要添加触发器的表,右键,设计表;

点击“触发器”,在这里,我们可以定义触发器的名称、触发条件(上述操作前触发还是操作后触发)、触发器的时机(插入、更新、删除)、触发后需要执行的操作、是否启用触发器等进行操作。

方式二:通过触发器窗口操作;

工具栏--》其它--》触发器;

选中要修改的触发器,点击“设计触发器”;

方式三:执行SQL。

新建查询窗口;

写好触发器脚本,点击运行。

写在最后

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

 相关推荐:

与君共勉:最实用的自律是攒钱,最养眼的自律是健身,最健康的自律是早睡,最改变气质的自律是看书,最好的自律是经济独立 。

您的一个点赞,一句留言,一次打赏,就是博主创作的动力源泉!

↓↓↓↓↓↓写的不错,对你有帮助?赏博主一口饭吧↓↓↓↓↓↓

posted @   Marydon  阅读(6877)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示
sorry,本博客所有代码禁止复制,原创代码需扫码支付方可获取!
关闭

1、先加好友再付费,点我加好友;

2、代码不能满足你的需求?加好友付费定制你的专属代码!

3、付费标准及方式,点我查看详情。