【Oracle强化】⑨第九章 触发器
来源:互联网 发布:遥感原理与应用 知乎 编辑:程序博客网 时间:2024/06/05 03:33
1.编写触发器实现如下功能:
对修改职工工资进行合法性检查:
a.修改后的工资大于修改前的工资
b.工资增量不能超过原工资的10%
c.目前部门号为10号部门的员工不涨工资
2.用触发器生成一个主键,员工编号的主键
‘NEU’ +员工参加工作时间+员工序号
neu2012033111125
自动生成添加主键。
3、创建一个表tmp_table,包含empno、ename、sal_old、sal_new、job五列信息
在emp表上创建一个update行触发器,当新的薪水小于原有的薪水时,在tmp_table表中填加一行信息。
对修改职工工资进行合法性检查:
a.修改后的工资大于修改前的工资
b.工资增量不能超过原工资的10%
c.目前部门号为10号部门的员工不涨工资
2.用触发器生成一个主键,员工编号的主键
‘NEU’ +员工参加工作时间+员工序号
neu2012033111125
自动生成添加主键。
3、创建一个表tmp_table,包含empno、ename、sal_old、sal_new、job五列信息
在emp表上创建一个update行触发器,当新的薪水小于原有的薪水时,在tmp_table表中填加一行信息。
9.2DML触发器 9.2.1DML语句触发器1、CREATE OR REPLACE PROCEDURE secure_dml IS BEGIN IF (TO_CHAR(SYSDATE, 'DY') in ('星期六','星期日')) or (TO_CHAR (SYSDATE, 'HH24:MI') NOT BETWEEN '08:45' AND '17:30') THENRAISE_APPLICATION_ERROR (-20205, '你只能在正常的办公时间改变数据'); END IF; END secure_dml;1)、 CREATE OR REPLACE TRIGGER secure_prod BEFORE INSERT OR UPDATE OR DELETE ON dept BEGIN secure_dml; END secure_prod; 2)、 INSERT INTO dept VALUES (50,’dep50’,’shenyang’);9.2.2DML行触发器1、Create table tmp_table(Empnonumber(4),Enamevarchar2(10),Sal_oldnumber(7,2),Sal_newnumber(7,2),Job varchar2(10));2、Create or replace trigger sal_emp after update on emp for each rowBeginif(:new.sal <:old.sal) theninsert into tmp_table values(:old.empno,:old.ename,:old.sal,:new.sal,:old.job);end if;End;update emp set sal=2000;
0 0
- 【Oracle强化】⑨第九章 触发器
- oracle文档第九章触发器(1)
- 第九章:记录&触发器&存储过程
- 第九章 Oracle 游标
- 第十章 Oracle 触发器
- 【Oracle强化】③第三章 复合数据类型
- 【Oracle强化】④第四章 编写游标
- 【Oracle强化】⑤第五章 异常处理
- 【Oracle强化】⑦第七章 创建函数
- 【Oracle强化】⑧第八章 创建包
- SQL Server 2000 程序设计学习笔记--第九章 触发器
- 第九章:plsql编程基础(记录&触发器&存储过程)
- oracle强化练习题
- oracle 触发器
- Oracle触发器
- Oracle触发器
- oracle触发器
- ORACLE触发器
- [SPOJ TSUM] Triple Sums [FFT]
- 自我评价
- Android操作系统实际上是奇妙的是与HTC欲望的高清手机
- Unity3D属性监视面板(Inspector)
- Android手机的演变
- 【Oracle强化】⑨第九章 触发器
- 【索引】Volume 0. Getting Started
- Android开发 - 详细说明Android的活动课
- 加密、解密
- Android应用程序货币化主要由审查决定
- NOJ 1793 简单的迷宫 (裸BFS 经典)
- 第12条:理解消息转发机制(1)
- Android应用程序开发诗篇iPhone应用程序开发
- HDU4009 Transfer water 【最小树形图】