我是 Oracle 触发器的新手。我使用以下语法创建了一个 EVENT 表:
CREATE TABLE Event
(event_id NUMBER (3) NOT NULL,
event_date DATE NOT NULL,
venue_id NUMBER (2) NOT NULL,
concert_id NUMBER (3) NOT NULL
);
我想创建一个触发器以确保音乐会不能在 8 月份运行。我尝试了以下代码来创建触发器。触发器已成功创建,但在插入带有 8 月份的日期后,它已被插入。这不应该是。
CREATE OR REPLACE TRIGGER check_date
BEFORE INSERT ON event
DECLARE
event_date date;
BEGIN
IF (to_char(event_date, 'mm') = 8) THEN
raise_application_error(-20000, 'Concerts cannot be run during August');
END IF;
END;