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

oracle文档第九章触发器(1)

 第九章节 :触发器编码
    触发器是存储在数据库存中隐式的运行或者被触发的一段程序,当某些事件发生。通常情况下,触发器中支持可执行的一段pl/sql代码块,当一个insert,update,或者delete命名发生在一个表或者视图上的时候。其也支持系统和数据库或者方案事件.oracle数据库也支持触发器中含有可执行的pl/sql或java程序.
    该章节讨论dml触发器,instead of 触发器和系统触发器(数据库/方案触发器),内容如下:
 设计触发器
 创建触发器
 触发器核心代码
编译触发器
修改已有的触发器
(enabling and disabling triggers)使用和[disabling]角发器
查看触发器相关的信息
触发器实例代码
用触发器响应[responding]系统事件
     9.1设计触发器
         在设计触发器时,使用下列设计原则
 触发器用来保证当一个特定的操作被执行时,和该操作相关的动作也被执行。
 当一个重复[duplicate]功能在数据库中存在,此时要避免使用触发器。例如,如果能用数据完敕性约束来实现维不合法的数据存储到数据库时,就没有必要使用触发器来实现相同的功能。[refect]拒绝
限制触发器程序代码的大小,如果触发器的实现逻辑需要超过60行代码,那么最好把大量的代码存储在一个存储过程中,然后在触发器中调用该存储过程。
regardless of[无论] 无论是用户或者数据库[issues]触发器事件,触发器是仅仅用来[centralized]集中公共的操作被调用。
不要创建[recursive]递归性的触发器。如,创建一个在Emp_tab after update语名的触发器,在该表中又定义了一个update 语句,使该触发器递补归的被调用直到内存溢出。
要明知[judiciously]的用触发器,它在每个用户,任何时间被执行,当事件发生在已经定义好的触发器上.
      9.2创建触发器
          可以使用任何[interactive]互相交互的工具,如sql*plus 或enterprise manager,用CREATE TRIGGER statement命令来创建.在使用交互工具编写完触发器时,在程序末尾加上('/')字符是[necessary]必要的,来使刚创建的触发器激活[activate]。
        如下命令在emp_tab表上创建一个触发器:
  CREATE OR REPLACE TRIGGER Print_salary_changes
  


相关文档:

ORACLE SAVE EXCEPTION 子句

今天在一个帖子里看到shiyiwan的回帖中提及到了两个自己以前没见过的概念,save exception和dml error logging。上网搜了搜相关内容,看了看大概明白意思,不过在实际运用中还是没怎么用过。保存下来,以后用的到的话方便查阅。
这一篇是关于save exception的,另外一篇dml error logging的参见如下链接
http://blog.csdn ......

Oracle INSERT ALL和INSERT FIRST

今天第一次知道ORACLE原来还可以这样INSERT的……长见识了
一、无条件 INSERT ALL
二、条件 INSERT ALL
三、条件 INSERT FIRST
Insert…Select
使用Insert Select实现同时向多个表插入记录
一、无条件 INSERT ALL
----------------------------------------------------------------------- ......

Oracle日期函数:

 select sysdate from dual; 从伪表查系统时间,以默认格式输出。
sysdate+(5/24/60/60) 在系统时间基础上延迟5秒
sysdate+5/24/60 在系统时间基础上延迟5分钟
sysdate+5/24 在系统时间基础上延迟5小时
sysdate+5 在系统时间基础上延迟5天
所以日期计算默认单位是天
round (sysdate,’day’) 不是四除 ......

ORACLE Top/Bottom N、First/Last、NTile

目录
==================================================================
1.带空值的排列
2.Top/Bottom N查询
3.First/Last排名查询
4.按层次查询
一、带空值的排列:
假如被排列的数据中含有空值呢?
SQL> select region_id, customer_id,
   2         ......

ORACLE 外键约束对NULL的处理

刚才在网上搜这个问题的时候搜到ITPUB上yangtingkun博客里的一篇文章,写的挺好的,自己复制了一下他的实验过程,加了点步骤验证了自己的想法,也解决了疑问。
前面写过一篇文章,介绍过唯一约束的情况下,Oracle处理NULL的特点。简单的说,就是如果多个列构成了唯一,且其中包含一个以上的NULL,那么Oracle会要求不为NULL ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号