触发器:
触发器 是 特殊的存储 过程,它当指定的表中的数据 发生变化 时自动 运行:
触发器的执行是由事件触发的,而普通 存储过程是 由命令调用运行的
触发器的组成:触发事件,触发条件,触发操作
触发事件:
Insert
Update
delete
出发时间:
Before:在指定的事件发生之前执行触发器
After:在指定的事件发生之前后执行触发器
触发级别:
行触发:对触发事件影响的每一行执行触发器
语句触发:对于触发事件只能触发一次,而且不能访问受触发器影响的每一行的值。
需求:
表emp:
表emp_log:
要求:
对雇员表的操作
|
对日志表的操作
|
新增员工记录
|
把新员工记录同时插入到日志表中,把员工状态改为“入职”
|
修改员工的工资
|
判断日志表是否有该员工记录,若存在,比较新旧工资,把员工状态对应改为“加薪”或“减薪“,更新工资;若不存在,插入新记录,状态改为”调薪”。
|
员工辞职,删除该员工记录
|
判断日志表是否有该员工记录,若存在,把员工状态改为“辞职”;若不存在,插入该条记录,把员工状态改为“辞职。
|
建表:
drop table EMP cascade constraint;
drop table emp_log cascade constraint;
prompt=====创建表(EMP)=====;
create table EMP
( Empid varchar2(20) not null,
Empname varchar2(10),
Empage number(5),
Empsex varchar2(2),
Empwage number(10),
constraint EMP_Empid_pk primary key(Empid));
prompt =====创建表(emp_log)====;
create table emp_log
(
Empid varchar2(20) not null,
Empname varchar2(10),
Empage number(5),
Empsex varchar2(2),
Empwage number(10),
condition char(10),
recdate date ,
constraint emp_log_Empid_pk primary key(Empid));
创建触发器:
create or replace trigger emp_log_insert
after insert on emp
for each row
begin
if(inserting) then
insert into emp_log values(:new.Empid ,:new.Empname ,:new.Empage ,:new.Empsex ,:new.Empwage,'入职',sysdate);
end if;
end ;
/
启动触发器:
alter trigger emp_log_insert enable;
停止触发器:
Alter trigger emp_log_insert disable ;
删除触发器:
arop trigger emp_log_insert;
- 大小: 7.3 KB
- 大小: 9.9 KB
- 大小: 26.9 KB
- 大小: 33.4 KB
- 大小: 33.4 KB
分享到:
相关推荐
压缩包主要包括15个文档,主要是本人学习oracle过程中的笔记,希望对你有帮助:主要文档如下: 01-常用命令.txt 02-表空间建表.txt 03-基本查询语句学习笔记.txt ...12-触发器学习笔记.txt 13-pl编码.txt
│ Oracle学习笔记.pdf │ Oracle学习笔记.wps │ 安装Oracle后myEclipse不能正常使用.txt │ 手工配置listener.ora【避免出现ORA-12514错误】.txt │ 贴子树状态存储结构.jpg │ 贴子树状态存储结构.sql │ ├─01...
oracle 日常学习的记录…… java调用oracle的存储过程 oracle number(1)一般对应于Java中的类型 Oracle常用函数 oracle触发器new Oracle中自增字段的两种方法 字典表查询
韩顺平oracle学习笔记 第0讲:如何学习oracle 一、如何学习oracle Oracle目前最流行的数据库之一,功能强大,性能卓越。学习oracle需要具备一定基础: 1.学习过一门编程语言(如:java ,c) 2.最好学习过一门别的...
oracle 学习笔记 教程 中文版 不错的 讲解的是 触发器
Oracle笔记 五、创建表、约束、视图、索引、序列、同义词、表空间 Oracle笔记 六、PL/SQL简单语句块、变量定义 Oracle笔记 七、PL/SQL 异常处理 Oracle笔记 八、PL/SQL跳转/判断/循环语句块 Oracle笔记 九、PL/...
Oracle基础学习笔记,开窗排序函数,权限管理,递归查询,存储函数触发器游标等等
本文件是本人学习oracle的一些总结资料,值得大家借鉴,可以互相交流
功能: 1、 允许/限制对表的修改 2、 自动生成派生列,比如自增字段 3、 强制数据一致性 4、 提供审计和日志记录 5、 防止无效的事务处理 6、 启用复杂的业务逻辑 开始 create trigger biufer_employees_department_...
oracle笔记。 一:oracle的卸载 二:oracle的安装 三:oracle控制台 四:连到其它服务器 五:开发工具 pl/sql 1 用户 2 表 3 dblink,同义词 4 触发器 5 定时器 6 视图 7 序列 9 函数 10 存储过程 六:导出...
三、ORACLE 10g新增的数据类型 4 说明 4 示例 4 特殊值 4 四、ORACLE PL/SQL简介 5 1 块结构 5 2 变量和类型 6 3 条件逻辑 6 4 循环 7 5 游标 8 №1声明一些变量,用于保存select语句的返回的列值 8 №2声明游标,并...
文档中包括Oracle基本的介绍,包含存储的介绍、基本数据对象(表、索引、触发器、视图、存储过程等),表空间的管理 ,如果升级到Oracle12C 以及数据库的物理布局和存储管理
第12章 存储过程和触发器 第13章 游标 第14章 任务调度 第15章 事务与锁定 第3篇 系统优化 第16章 数据库内存和进程的配置与优化 第17章 常用性能监测、分析和优化工具 第18章 对SQL语句进行分析和优化 第19...
自己总结的oracle pl学习代码。有游标,存储过程,触发器,集合等。 初步学习pl的话会有一些帮助,也提供了相关的练习。
基于文档《Oracle完全学习手册》,其中主要包括了基本的SQL语句,PQ/SQL语句,事务,存储过程,函数,触发器,处理库管理,SQL语句优化原则等内容,有兴趣的朋友可以下载。
详细介绍oracle表、分区、锁、视图、索引、循环、游标、游标、过程、函数、程序包、分离、触发器等等 非常实用 学习的朋友可以看看
MySQL入Ar ]很简单学习笔记李国华.dox Oracle查看表结构.txt SQL作业代理禁用.txt sql.txt SQL-Transaction事物一起执行.txt sq和oracle的区别.txt sysobjects中type字段值意思txt W3School例句.txt 按照中文首字母...