首页 > 代码库 > 触发器

触发器

1.java的gc垃圾回收,不能够被java的代码进行干预。system下的gc()方法的准确的说法为:请求运行java垃圾回收器,并不一定能够得到相应。

2.技术方向:1.性能调优 (tomcat) 2.故障诊断(死锁问题)

3.申明包结构:

  包分为包头和包体,相当于C语言当中的.h和.cpp 文件

      包头:进行变量的声明,包体:语句的书写。(使用工具进行创建)

     主要用于返回一个集合。

4.触发器

  4.1触发器:存储的PL/SQL程序,执行(insert,update,delete),oracle自动执行触发器中定义的语句。  

  --每当成功插入新员工后,自动打印"成功插入新员工"
  create trigger abcd
  --before,after,可以选择(一般都为before,数据的备份和恢复为after)
  --update 【of 列名】,可选参数,当某一列进行更新操作时会触发器
  after insert
  on emp
  declare
  begin
      dbms_output.put_line(成功插入新员工);
  end;
  /

     4.2触发器的种类

    语句级触发器:针对的是表

    行级触发器:针对的是行  

    触发语句与伪记录   :old(操作之前)   ,    :new(操作之后)

 

     4.3触发器的用途:

    4.3.1数据确认 

  create or replace trigger checksalary
  before update
  on emp
  for each row
  begin
       if :new.sal <:old.sal then
          raise_application_error(-2002,涨后的工资不能少于涨起的工资);
  end;
  /    

    4.3.2实施复杂的安全性检查

  --禁止在非工作时间插入新的员工(针对是表,进行安全性检查)
  create
or replace trigger securityemp   before insert   on emp   begin    if to_char(sysdate,day) in (星期六,星期日) or    to_number(tochar(sysdate,hh24)) noto between 9 and 17 then   --禁止insert    raise_application_error(-20001,禁止在非工作时间插入新员工)   end if;   end;   /

  4.3.3做审计,跟踪表上所做的数据操作等(简单说:日志,oracle已经实现)

  4.3.4数据的备份和同步(主从复制,当主的数据库发生变化后通知从的数据库进行更新操作)

 

触发器