【发布时间】:2014-07-21 16:08:08
【问题描述】:
由于 sysdate 不能用于检查约束,因此尝试使用触发器来实现目的。 但它显示“警告:使用编译错误创建的触发器。”
我在下面发布我的语法。我正在使用 Oracle 10g 数据库。
create table birth
(name varchar2(30), DOB date);
insert into birth values ('Ravi', sysdate+1 );
已插入 1 行。 现在从技术上讲这是错误的。为了防止这种情况,我创建了一个触发器
create or replace trigger birth_trigger
before insert or update of dob on birth
for each row
begin
if (dob >=sysdate)
then
raise_application_error (-20501, 'DOB cannot be greater than sysdate');
end if;
end;
现在我收到“警告:创建了编译错误的触发器”。 无法解决问题。 请帮忙。
【问题讨论】: