set serveroutput on;
create or replace trigger check_date
before insert
on emp
for each row
begin
dbms_output.put_line('test statement'||:new.hiredate||sysdate); --to test display
if(:new.hiredate<sysdate) then
dbms_output.put_line('invalid');
end if;
end;
/
insert into emp(empno,deptno,hiredate) values(533,20,'23-3-12');
我已经编写了上面的触发器但是当我尝试将新记录插入到emp表中时,插入记录时不会触发触发器。
答案 0 :(得分:0)
我尝试过上面附带的相同代码。我遇到的唯一问题是日期参数。在按照您的意愿传递日期之前,请通过工具 - &gt;偏好设置 - >数据库 - &gt; NLS-&gt;日期格式检查默认日期格式。然后传递默认格式提供的日期。如果不是,则需要使用to_date隐式转换日期格式。
它会像你期望的那样正常工作。