易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle触发器的使用

触发器是指存放在数据库中,并被隐藏执行的存储过程。在Oracle8i之前,只允许基于表或视图的DML操作(insert,update,delete)建立触发器,在oracle8i之后,不仅支持DML操作,也允许基于系统事件(启动数据库,关闭数据库,登录)和DDL操作建立触发器。
一、触发器简介
   触发器是指隐含执行的存储过程,它可以使用PL/SQL,java和C进行开发,当发生特定事件(例如:修改表、建立对象、登录数据库)时,Oracle会自动执行触发器的相应代码。
触发器由触发事件、触发条件和触发操作三部分组成。
1、触发事件
触发事件是指触发器被触发的SQL、数据库事件和用户事件,在oracle8i之前,触发事件只能是DML操作,在oracle8i之后,不仅支持DML事件,而且还增加了其他事件,具体事件如下:
启动和关闭例程
Oracle错误信息
用户登陆和关闭会话
特定表和视图的DML操作
DDL语句
2、触发条件(可选)
触发条件是指使用when子句指定一个boolean表达式,当表达式返回true时,则执行触发器相应代码,如果表达式返回false或unknown,则不会执行触发器相应代码。
3、触发操作
触发操作是指包含SQL语句和其他执行代码的PL/SQL块,不仅可以使用PL/SQL开发,也可以使用java或c语言开发,当触发条件为true时,会自动执行触发操作的相应代码。但是在编写触发器执行代码时,需要注意一下限制:
触发代码大小不能超过32k,如果确实需要使用大量代码建立触发器,应该首先建立存储过程,然后在触发器中使用call语句调用存储过程。
触发器代码只能包括insert、update和delete语句,而不能包括DDL语句(create、drop、alert)和事务控制语句(commit,rollback和savepoint)。
二、建立DML触发器
    当建立DML触发器时,需要指定触发时机(before和after)、触发事件(insert、select、update、delete)、表名、触发类型、触发条件以及触发操作。
1、触发时机
  触发时机是指触发器的触发时间,当指定before关键字时,表示在执行DML操作之前触发触发器;当指定after关键字时,表示在执行DML操作之后触发触发器。
2、触发事件
触发条件是指被引起触发器执行的DML语句,即insert、update、delete操作。即可以使用单个触发事件,也可以组合多个触发事件。
3、表名
因为DML触发器是针对特定表执行的,所以必须指定DML操作所对应的表名。
4、触发类型
触发类型用于指定当触发事件发生后,需要执行几次触发操作,如果指定


相关文档:

Oracle中的Hash Join祥解

Oracle中的Hash Join祥解
一、  hash join概念
     Hashjoin(HJ)是一种用于equi-join(而anti-join就是使用NOT IN时的join)的技术。
在Oracle中,它是从7.3开始引入的,以代替sort-merge和nested-loop join方式,
提高效率。在CBO(hash join只有在CBO才可能被使用到)模式下,优化器计算代 ......

每天1点执行的oracle JOB样例


DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
( job => X
,what => 'syn_rpt_members_relation;'
,next_date => to_date('02-07-2008 01:00:00','dd/mm/yyyy hh24:mi:ss')
,interval => 'trunc(sysdate)+1+1/24'
,no_parse => FALSE
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_cha ......

完全卸载Oracle数据库

实现方法:
1、开始->设置->控制面板->管理工具->服务
停止所有Oracle服务。
2、开始->程序->Oracle - OraHome81->Oracle Installation Products->
Universal Installer
卸装所有Oracle产品,但Universal Installer本身不能被删除
5、运行regedit,选择HKEY_LOCAL_MACHINESOFTWAREORACLE,按 ......

Oracle 10g 启动与关闭

在执行启动关闭命令之前需要正确设置下列环境变量:
    ORACLE_BASE
    ORACLE_HOME 安装过程中显示的oracle home 目录
    ORACLE_SID
    PATH=$PAHT:$ORACLE_HOME/bin
    以 oracle 账号登陆 Linux,或者从 root 下输入 su - or ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号