oracle开发之触发器

触发器吧。。。比较耗费资源的东东。。。如果能用自带的完整性约束或者检查约束之类的东西,那就不要用触发器了。。。

如果一个触发器超过了60行,额。。那就用个存储过程,或者从一个触发器中调用一个触发器吧。。只有集中地,全局的时候,才用触发器,还有最后一点要注意,千万不要定义recursive触发器。。。哈哈,比如你在一个更新操作上加一个触发器,而这个触发器内包含一个更新操作,那就等着内存耗光吧。。。

第一个列子:

create or replace trigger print_salary_changes

before delete or insert or update on emp

for each row 

  when(new.empno>0)

 declare 

  sal_diff   number;

 begin

sal_diff := :new.sal -:old.sal;

dbms_output.put ('old  salary :' || :old.sal);

dbms_output.put('new  salary:' || :new.sal);

dbms_output.put_line('defference' || sal_diff);

 end;    

 

时间: 2024-09-19 15:29:52

oracle开发之触发器的相关文章

Oracle开发人员 JAVA存储过程

oracle|存储过程  Oracle开发人员 JAVA存储过程 利用Java存储过程简化数据库操作 作者:Kuassi Mensah 利用Java存储过程沟通SQL.XML.Java.J2EE和Web服务. 存储过程(stored procedure)允许将运行于数据库层中的持久性逻辑与运行于中间层中的商务逻辑有效地分离开来.这种分离可以降低整个应用程序的复杂性,并提供其重用性.安全性.性能和可伸缩性. 但是,妨碍存储过程广泛采用的一个主要障碍是不同数据库厂商使用各种专有的.且依赖于数据库的实

【题库】Oracle开发类笔试面试题集

[题库]Oracle开发类笔试面试题集 http://www.cnblogs.com/shenxiaolin/p/5517834.html 一.涉及内容 游标的创建与应用 二.具体操作  (一)填空题 1.PL/SQL 程序块主要包含3个部分:声明部分.(执行部分 ).异常处理部分. 2.自定义异常必须使用(RAISE )语句引发. (二)选择题 1.下列哪一个不是BOOLEAN变量可能的取值?(D ) A.TRUE  B.FALSE  C.NULL D.BLANK 2.请查看以下IF语句: D

八种主要的Oracle开发工具简介

Session领导人兼Apps Associates创始人.CEO Sridhar Bogelli是基于Mass应用程序开发顾问,告诫 Oracle开发人员要恰当运用Oracle和第三方销售商提供的工具来帮助他们以及他们的公司避开一些与 production相关的问题.这些工具包括: 一.SQL*Plus SQL*Plus是SQL命令行和PL/SQL语言的界面和连接Oracle数据库客户和服务器的报告工具.SQL*Plus能 够交替使用并通过脚本运行.据Oracle公司表示,SQL*Plus以前

代码-oracle数据库写触发器解决级联删除问题

问题描述 oracle数据库写触发器解决级联删除问题 请问写一个触发器,怎么在根据id删除商品时,用触发器删除这个商品对应的购物车表项,订单明细表,以及这个订单明细表对应的订单表,删除这个订单表时还要删除这个订单表中对应的其他明细表,谢谢了,最好能有点代码,求教各位了 解决方案 创建数据库时为了防止其他人不小心删除操作错误, 所有的外键都没有加级联删除.哪知,不知什么时候自己入了一批错误的数据进去,入库使用的是软件自动的,一下点错给自己带来无尽麻烦啊,删除就不好办了. 表间的关系比较复杂,数据量

MySQL 第九篇:Mysql 与 ORACLE 开发差异、Mysql 优化

我把MySQL的内容整理成9篇博客,学完这9篇博客虽不能说能成为大神,但是应付一般中小企业的开发已经足够了,有疑问或建议的欢迎留言讨论. Mysql 与 ORACLE 开发差异 一. 常用的基本数据类型对比 二. 常用 SQL函数以及其它语法差异 Mysql 优化 一. 数据库设计 a) 适当的违反三大范式. b) 适当建立索引. c) 对表进行水平划分(按照一个周期对表数据进行拆分). d) 对表进行垂直划分(对字段内容较长的字段进行拆分到一个新表). e) 选择合适的字段类型.能占用字节小的

oracle 触发器-求大神解答oracle数据库关于触发器集联删除的问题

问题描述 求大神解答oracle数据库关于触发器集联删除的问题 做期末项目,做到了触发器集联删除这块,我想删除course表(父表)里的数据,必须先删除teacou(子表)中的cid,cid与course里的id有外键关系.删除子表后我又不能找到父表里的id了,怎么办啊,请大神帮忙看看,谢谢啦! 解决方案 http://www.2cto.com/database/201212/178007.html

急求struts2+hibernate+oracle开发项目源代码!!!

问题描述 急求struts2+hibernate+oracle开发项目源代码!!! 用struts2+hibernate+oracle开发的发布系统 解决方案 这个可不好求啊.....

oracle 插删改 触发器 过程

问题描述 oracle 插删改 触发器 过程 5.建立触发器,当对考勤表Attend表进行相应插入.删除.修改时,对stud表的sum_evaluation 数值进行相应的数据更新. 6.建立过程,生成某班级某时段(起.止日期)的考勤汇总表class_attend中各字段值,并汇总相应班级,将考勤分值的汇总结果写入到class表中的sum_evaluation中. 如题.希望能给点提示或者提供写参考资料 解决方案 http://blog.csdn.net/indexman/article/det

数据库设计-求大神解答oracle数据库关于触发器集联删除的问题

问题描述 求大神解答oracle数据库关于触发器集联删除的问题 做期末项目,做到了触发器集联删除这块,我想删除course表(父表)里的数据,必须先删除teacou(子表)中的cid,cid与course里的id有外键关系.删除子表后我又不能找到父表里的id了. select teaCou.cId from teaCou where teacou.tId=:old.id有时候查出来两个结果,select into语句不能用, 怎么办啊,请大神帮忙看看,谢谢啦! 解决方案 http://www.2