suibi



create or replace trigger forbid_emp_x_trigger2
before insert or delete or update
on emp_x
declare
 v_currentweak varchar(20);
v_currenthour varchar(20);
 begin
 select to_char(sysdate,'day'),to_char(sysdate,'hh24') into v_currentweak,v_currenthour
  from dual;
  if trim(v_currentweak)='monday' or trim(v_currentweak)='saturday' or trim(v_currentweak)='sunday'
  then
  raise_application_error(-20008,'A');
  elsif trim(v_currenthour)<9 or trim(v_currenthour)>18 then
 raise_application_error(-20009,'B');
  end if;
  end;
  /
create or replace trigger forbid_emp_trigger3
before update of sal,comm
on emp
declare
currenthour varchar(20);
begin
select to_char(sysdate,'hh24')into currenthour from dual;
if trim(currenthour)>'12'then
raise_application_error(-20009,'meitian12dianyihoubuyunxugengxinguyuangongzi、yongjin');
end if;
end;


create or replace trigger forbid_emp_x_trigger4
before insert
on emp_x
for each row
declare
v_jobcount number;
begin
select count(empno)into v_jobcount from emp where:new.job in(
select distinct job from emp);
if v_jobcount = 0 then --没有此职位信息
raise_application_error(-20008,'zengjiaguyuandezhiweixinximingchengcuowu!');
else
if:new.sal>5000 then
raise_application_error(-20008,'zengjiaguyuandegongzibudechaoguo5000!');
end if;
end if;
end;
/


create or replace trigger emp_update_trigger5
before update of sal
on emp_x
for each row
begin
if abs((:new.sal-:old.sal)/:old.sal)>0.1 then
raise_application_error(-20008,'guyuanxiugaifudutaida!');
end if;
end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值