oracle创建的触发器带有编译错误

createorreplacetriggertr_sec_tempbeforeinsertorupdateordeleteonempbeginifto_char(sysd... create or replace trigger tr_sec_temp
before insert or update or delete on emp
begin
if to_char(sysdate,'DY','nls_date_language=AMERICAN')
in ('SAT','SUN') then
raise_application_error(-20001,'不能在休息日改变');
endif;
end;
执行出现了:
警告: 创建的触发器带有编译错误。
应该如何修改呢?
展开
 我来答
奔驰M888
2009-09-14 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1846
采纳率:0%
帮助的人:2693万
展开全部
告诉你两点:
1、当出现警告或者错差运误的时候,使用show error 命令,可以查看错误的具体信息,在信息中可以定位错误的具体位置。
2、你的或袭问题是:【endif;】不能写在一起,【end if;】是正确的。
类似衫庆兄的还有【end loop】 等。

---
以上,希望对你有所帮助。
z_blue_b
2009-09-14 · TA获得超过199个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:295万
展开全部
end和if之间要空格。
endif;改成end if;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式