由于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;
现在我在这里得到“警告:编译错误创建的触发器”。 无法解决问题。 请帮忙。
我不会在'DATE'列上调用'TO_DATE' ... –
而不是上面的条件使用这个条件(:new.dob> = sysdate) – Smart003