`

oracle学习笔记之五(触发器)

 
阅读更多

触发器:

 

触发器 是 特殊的存储 过程,它当指定的表中的数据 发生变化 时自动 运行:

触发器的执行是由事件触发的,而普通 存储过程是 由命令调用运行的

触发器的组成:触发事件,触发条件,触发操作

触发事件:

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
2
1
分享到:
评论
1 楼 babydeed 2011-07-10  
非常好 继续

相关推荐

    Oracle学习笔记.pdf

    以下是对Oracle学习笔记中提到的一些关键知识点的详细解释: 1. **SQL执行顺序**: SQL语句的执行顺序是:`FROM` -> `WHERE` -> `SELECT` -> `GROUP BY` -> `HAVING` -> `ORDER BY`。首先从`FROM`子句开始,确定...

    oracle学习笔记(从入门到精通)

    压缩包主要包括15个文档,主要是本人学习oracle过程中的笔记,希望对你有帮助:主要文档如下: 01-常用命令.txt 02-表空间建表.txt 03-基本查询语句学习笔记.txt ...12-触发器学习笔记.txt 13-pl编码.txt

    MSDN oracle学习笔记

    在“MSDN Oracle学习笔记”中,我们可以期待找到关于Oracle数据库的详细讲解和实践指导。 首先,Oracle数据库的基础知识是必不可少的。这通常涵盖数据库系统的基本概念,如SQL(结构化查询语言)的使用,数据类型,...

    Oracle 10g 学习笔记

    │ Oracle学习笔记.pdf │ Oracle学习笔记.wps │ 安装Oracle后myEclipse不能正常使用.txt │ 手工配置listener.ora【避免出现ORA-12514错误】.txt │ 贴子树状态存储结构.jpg │ 贴子树状态存储结构.sql │ ├─01...

    ORACLE经典学习笔记

    ### ORACLE经典学习笔记知识点概览 #### 第一章 ORACLE 命令 本章节主要介绍了Oracle数据库中常用的命令及其使用方法。 1. **查看参数文件**: `Desc v$parameter` - 这个命令用于查看Oracle的参数文件信息,通过...

    oracle 个人学习笔记

    以下是对Oracle数据库一些基础知识的详细解释,主要基于提供的个人学习笔记内容。 **第一节:数据库管理** 1. **创建用户**:`CREATE USER`命令用于创建新的数据库用户,如`CREATE USER username IDENTIFIED BY ...

    mldn oracle学习笔记

    "mldn oracle学习笔记"是一份关于学习Oracle数据库的资源,很可能包含了从基础到高级的全方位教程,旨在帮助学习者深入理解Oracle数据库的原理和操作技巧。"魔乐"可能是这份笔记的作者或者是一个学习社区的名字,而...

    MLDN_Oracle学习笔记+源码 李兴华讲解

    《MLDN_Oracle学习笔记+源码 李兴华讲解》是针对Oracle数据库系统的一份详尽学习资源,由知名讲师李兴华精心编撰。这份资料不仅包含了丰富的理论知识,还提供了源代码实例,旨在帮助学习者深入理解和掌握Oracle...

    韩顺平2011oracle学习笔记

    【Oracle的基础使用与基本命令】 ...以上只是Oracle学习笔记的一部分,实际学习中还包括索引、视图、存储过程、触发器、游标、事务控制等多个方面的内容,都需要深入理解和实践才能掌握Oracle数据库的精髓。

    Oracle学习笔记.doc

    ### Oracle学习笔记知识点详解 #### 一、SQL概述与Oracle简介 - **SQL**(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库的标准语言。它被用来执行各种数据库操作,如查询数据、更新数据...

    李兴华Oracle全部笔记

    总的来说,李兴华Oracle全部笔记是一份全面且深入的Oracle学习资料,不仅适合初学者入门,也对有经验的DBA有着很高的参考价值。通过这份笔记,读者可以系统地学习Oracle数据库的各个方面,提升自己的专业技能。

    oracle 学习笔记资料

    Oracle是世界上最广泛使用的数据库管理系统之一...以上就是根据给定文件名推测的Oracle学习笔记资料可能涵盖的主要知识点。通过深入学习和实践,可以掌握Oracle数据库的使用和管理,从而在IT领域中提升自己的专业能力。

    玩转Oracle学习笔记

    本"玩转Oracle学习笔记"旨在帮助初学者和进阶者深入理解和掌握Oracle的各项核心功能,以及如何在实际工作中有效应用。 一、Oracle数据库基础 Oracle数据库的核心组件包括数据文件、控制文件、重做日志文件和初始化...

    Oracle 超强学习笔记

    本"Oracle超强学习笔记"将带你深入探索Oracle的世界,掌握从基础到高级的各种技术,助你在数据库管理领域提升专业技能。 1. **Oracle简介** Oracle数据库是由美国甲骨文公司开发的关系数据库系统,其核心组件包括...

    oracle学习笔记.rar

    这份"oracle学习笔记.rar"压缩包包含了作者在学习Oracle过程中整理的基础知识,对于初学者来说是一份宝贵的资料。 1. **Oracle数据库系统概述**:Oracle数据库是关系型数据库管理系统(RDBMS),由美国Oracle公司...

    传至播客oracle学习笔记

    在“传至播客”的Oracle学习笔记中,我们可以深入探讨几个关键知识点,这些知识点对于理解和掌握Oracle数据库至关重要。 首先,"循环,判断演示代码.sql"可能涉及到SQL中的流程控制。在Oracle SQL中,可以使用PL/...

    涂抹Oracle 三思笔记之一步一步学Oracle

    但我可以根据标题“涂抹Oracle 三思笔记之一步一步学Oracle”和给定的相关知识点要求,构造一篇关于Oracle数据库学习的基础知识点文章,以满足您的需求。 Oracle数据库是全球范围内广泛使用的企业级关系数据库管理...

    oracle学习笔记.docx

    这篇学习笔记将探讨Oracle的一些核心概念和关键特性,帮助你更好地理解和掌握这个强大的数据库系统。 一、Oracle数据库概述 Oracle数据库是一种多用户、支持SQL的、支持网络环境的数据库管理系统。它由Oracle公司...

    oracle 学习 笔记 实用

    oracle 日常学习的记录…… java调用oracle的存储过程 oracle number(1)一般对应于Java中的类型 Oracle常用函数 oracle触发器new Oracle中自增字段的两种方法 字典表查询

Global site tag (gtag.js) - Google Analytics