Fire触发器只允许在星期一到星期六在PLSQL Oracle中完成事务

时间:2014-09-04 18:46:43

标签: oracle plsql

create or replace trigger tri_hours
before insert 
on dept
begin

    if (to_char(sysdate,'day')='sunday') then
    raise_application_error(-20001,' Insert  Opeartion  not allow because today is sunday  ');
    else
        if inserting then
                --insert query on table dept
        end if;     
    end if;
end;
/

当我尝试在星期日插入新记录时,触发器不起作用。

1 个答案:

答案 0 :(得分:3)

day日期格式掩码与to_char一起使用会产生一个字符串,该字符串填充为带有空格的九个字符。您需要使用fm格式掩码去除空格,即。

if (to_char(sysdate,'fmday') = 'sunday') then