-
数据库出发器的基本概念 每当一个特定的数据操作语句(insert,update,delete) 在制定的表上发出 (前一步或者后一步)时,Oracle自动的执行触发器中定义的语句序列。
第一个触发器:每当成功插入新员工后,自动打印"成功插入新员工" 触发器(trigger)
如何创建触发器
create trigger saynewmp
after
insert on emp
declare
begin
dbms_output.put_line('成功插入新员工') ;
end;
/
查看全部 -
触发器是特殊的存储过程
触发器的应用场景:
复杂的安全性检查
数据确认
数据审计功能
完成数据的备份和同步
查看全部 -
触发器的应用场景: 1.复杂的安全性检查 2.数据确认 3.数据审计功能 4.完成数据的备份和同步
查看全部 -
行级触发器之前和之后的值。
查看全部 -
触发器的创建语法
查看全部 -
触发器的应用场景: 1.复杂的安全性检查 2.数据确认 3.数据审计功能 4.完成数据的备份和同步
查看全部 -
create trigger users after insert on user declare begin out(插入新员工) end /查看全部
-
触发器是在执行插入,更新,删除语句时,会自动调用。 create trigger 创建触发器查看全部
-
函数:raise_application_error(error_code,error_messege);
error_code要小于-20000
查看全部 -
触发器应用场景:
复杂的安全性检查
数据确认
实现审计功能
完成数据的备份与同步
触发器的类型:
语句级触发器
行级触发器
查看全部 -
create or replace trigger sync_salary after update on emp for each row begin - -当主表更新后,自动更新备份表 update emp_back set sal=:new.sal where empno=:new.empno; end;查看全部
-
create or replace trigger do_audit_emp_salary after update on emp for each row begin - - 当涨后的薪水大于6000,插入审计信息 if :new.sal > 6000 then insert into audit_info values(:new.empno||' '||:new.ename||' '||:new.sal); end if; end;查看全部
-
create or replace trigger checksalary before update on emp for each row begin - - if涨后的薪水 < 涨前的薪水 then if :new.sal < :old.sal then raise_appliacation_error(-20002,'涨后的薪水不能少于涨前的薪水。涨前的薪水:'||:new.sal||'涨前的薪水:'||:old.sal); end if; end;查看全部
-
create or replace trigger securityemp before insert on emp begin if to_char(sysdate,'day')in('星期六','星期日') or to_number(to_char(sysdate,'hh24'))not between 9 and 18 then - - 禁止insert新员工 raise_application_error(-20001,'禁止在非工作时间插入新员工'); end if; end查看全部
-
create or replace trigger raisesal before update on emp for each row begin if '涨钱的工资'<“张厚的工资” raise_application_error(-20001,"错误"); end if; end;查看全部
举报
0/150
提交
取消