触发器:
触发器 是 特殊的存储 过程,它当指定的表中的数据 发生变化 时自动 运行:
触发器的执行是由事件触发的,而普通 存储过程是 由命令调用运行的
触发器的组成:触发事件,触发条件,触发操作
触发事件:
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
分享到:
相关推荐
以下是对Oracle学习笔记中提到的一些关键知识点的详细解释: 1. **SQL执行顺序**: SQL语句的执行顺序是:`FROM` -> `WHERE` -> `SELECT` -> `GROUP BY` -> `HAVING` -> `ORDER BY`。首先从`FROM`子句开始,确定...
压缩包主要包括15个文档,主要是本人学习oracle过程中的笔记,希望对你有帮助:主要文档如下: 01-常用命令.txt 02-表空间建表.txt 03-基本查询语句学习笔记.txt ...12-触发器学习笔记.txt 13-pl编码.txt
在“MSDN Oracle学习笔记”中,我们可以期待找到关于Oracle数据库的详细讲解和实践指导。 首先,Oracle数据库的基础知识是必不可少的。这通常涵盖数据库系统的基本概念,如SQL(结构化查询语言)的使用,数据类型,...
│ Oracle学习笔记.pdf │ Oracle学习笔记.wps │ 安装Oracle后myEclipse不能正常使用.txt │ 手工配置listener.ora【避免出现ORA-12514错误】.txt │ 贴子树状态存储结构.jpg │ 贴子树状态存储结构.sql │ ├─01...
### ORACLE经典学习笔记知识点概览 #### 第一章 ORACLE 命令 本章节主要介绍了Oracle数据库中常用的命令及其使用方法。 1. **查看参数文件**: `Desc v$parameter` - 这个命令用于查看Oracle的参数文件信息,通过...
以下是对Oracle数据库一些基础知识的详细解释,主要基于提供的个人学习笔记内容。 **第一节:数据库管理** 1. **创建用户**:`CREATE USER`命令用于创建新的数据库用户,如`CREATE USER username IDENTIFIED BY ...
"mldn oracle学习笔记"是一份关于学习Oracle数据库的资源,很可能包含了从基础到高级的全方位教程,旨在帮助学习者深入理解Oracle数据库的原理和操作技巧。"魔乐"可能是这份笔记的作者或者是一个学习社区的名字,而...
《MLDN_Oracle学习笔记+源码 李兴华讲解》是针对Oracle数据库系统的一份详尽学习资源,由知名讲师李兴华精心编撰。这份资料不仅包含了丰富的理论知识,还提供了源代码实例,旨在帮助学习者深入理解和掌握Oracle...
【Oracle的基础使用与基本命令】 ...以上只是Oracle学习笔记的一部分,实际学习中还包括索引、视图、存储过程、触发器、游标、事务控制等多个方面的内容,都需要深入理解和实践才能掌握Oracle数据库的精髓。
### Oracle学习笔记知识点详解 #### 一、SQL概述与Oracle简介 - **SQL**(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库的标准语言。它被用来执行各种数据库操作,如查询数据、更新数据...
总的来说,李兴华Oracle全部笔记是一份全面且深入的Oracle学习资料,不仅适合初学者入门,也对有经验的DBA有着很高的参考价值。通过这份笔记,读者可以系统地学习Oracle数据库的各个方面,提升自己的专业技能。
Oracle是世界上最广泛使用的数据库管理系统之一...以上就是根据给定文件名推测的Oracle学习笔记资料可能涵盖的主要知识点。通过深入学习和实践,可以掌握Oracle数据库的使用和管理,从而在IT领域中提升自己的专业能力。
本"玩转Oracle学习笔记"旨在帮助初学者和进阶者深入理解和掌握Oracle的各项核心功能,以及如何在实际工作中有效应用。 一、Oracle数据库基础 Oracle数据库的核心组件包括数据文件、控制文件、重做日志文件和初始化...
本"Oracle超强学习笔记"将带你深入探索Oracle的世界,掌握从基础到高级的各种技术,助你在数据库管理领域提升专业技能。 1. **Oracle简介** Oracle数据库是由美国甲骨文公司开发的关系数据库系统,其核心组件包括...
这份"oracle学习笔记.rar"压缩包包含了作者在学习Oracle过程中整理的基础知识,对于初学者来说是一份宝贵的资料。 1. **Oracle数据库系统概述**:Oracle数据库是关系型数据库管理系统(RDBMS),由美国Oracle公司...
在“传至播客”的Oracle学习笔记中,我们可以深入探讨几个关键知识点,这些知识点对于理解和掌握Oracle数据库至关重要。 首先,"循环,判断演示代码.sql"可能涉及到SQL中的流程控制。在Oracle SQL中,可以使用PL/...
但我可以根据标题“涂抹Oracle 三思笔记之一步一步学Oracle”和给定的相关知识点要求,构造一篇关于Oracle数据库学习的基础知识点文章,以满足您的需求。 Oracle数据库是全球范围内广泛使用的企业级关系数据库管理...
这篇学习笔记将探讨Oracle的一些核心概念和关键特性,帮助你更好地理解和掌握这个强大的数据库系统。 一、Oracle数据库概述 Oracle数据库是一种多用户、支持SQL的、支持网络环境的数据库管理系统。它由Oracle公司...
oracle 日常学习的记录…… java调用oracle的存储过程 oracle number(1)一般对应于Java中的类型 Oracle常用函数 oracle触发器new Oracle中自增字段的两种方法 字典表查询