触发和缺失选项

发布于 2024-11-16 00:50:32 字数 390 浏览 1 评论 0原文

我正在开发一个必须检查日期正确性的触发器。我在创建一个时遇到了很大的麻烦,因为无论我如何尝试简化代码,Oracle 都会向我返回相同的错误:ORA-00922:缺少或无效选项。我一遍又一遍地检查代码,我真的不知道我的问题出在哪里!

以下是触发器的过度简化版本,它也会出现相同的错误。

CREATE OR REPLACE checkDateValidity
BEFORE INSERT
ON Event
FOR EACH ROW
BEGIN
IF :new.month>12
THEN
RAISE_APPLICATION_ERROR(-20101, 'Error: wrong month');
END IF;
END;

我真的希望你能帮助我,因为此时我真的不知道我做错了什么。

I'm developing a trigger that has to check the correctness of a date. I'm have big time trouble creating one, becase no matter how I try to simplify my code, Oracle returns me the same error: ORA-00922: missing or invalid option. I have checked the code over and over again and I really can't figure out where my issue is!

The following is an over-simplified version of the trigger, which gets the same error too.

CREATE OR REPLACE checkDateValidity
BEFORE INSERT
ON Event
FOR EACH ROW
BEGIN
IF :new.month>12
THEN
RAISE_APPLICATION_ERROR(-20101, 'Error: wrong month');
END IF;
END;

I really hope you can help me because at this point I really have no idea of what I am doing wrong.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

醉生梦死 2024-11-23 00:50:32

您缺少 TRIGGER 关键字:

CREATE OR REPLACE TRIGGER checkDateValidity
....              ^^^^^^^

You are missing the TRIGGER keyword:

CREATE OR REPLACE TRIGGER checkDateValidity
....              ^^^^^^^
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文