标签:触发器 success compilation Navicat TRIGGER THEME META NEW TABLE
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;
再次执行,没有报错信息的话,就说明创建的触发器可用。
写在最后
哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!
相关推荐:
标签:触发器,success,compilation,Navicat,TRIGGER,THEME,META,NEW,TABLE 来源: https://www.cnblogs.com/Marydon20170307/p/15903811.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。