当前位置:首页 > 开发 > 数据库 > 正文

SQL触发器

发表于: 2014-10-24   作者:紫梦飘逸   来源:转载   浏览:
sql
摘要: SQL触发器:      触发器主要是通过事件进行触发被自动调用执行的,用触发器也可以存储数据,比如在你 删除某条记录时,可以使用触发器将这条数据先保留下来,所以触发器是一种特殊类型的存 储过程,而存储过程通过存储过程的名称调用的。 SQL触发器的优点:    1.可以通过数据库实现级联更改  

SQL触发器:
      触发器主要是通过事件进行触发被自动调用执行的,用触发器也可以存储数据,比如在你

删除某条记录时,可以使用触发器将这条数据先保留下来,所以触发器是一种特殊类型的存

储过程,而存储过程通过存储过程的名称调用的。

SQL触发器的优点:
    1.可以通过数据库实现级联更改
    2,可以定义更为严格的约束,
    3,一个表中的多个触发器允许采取多个不同的对策响应同一个修改的语句

    分类:
    1,DML触发器---就是由DML(DML(Data Manipulation Language)数据操纵语言命令使用

户能够查询数据库以及操作已有数据库中的数据。基本的数据操作分成两类四种:检索(查询)

和更新(插入、删除、修改))语句触发的,像insert,update,delete,由于操作时间的不同

,也可以分为before和after触发器,
    2,instead of触发器---用于执行一个替代操作来代替触发器时间的操作
    3,系统事件触发器--像在数据库启动,关闭等时触发的
    4,DDL触发器--DDL(数据库模式定义语言DDL(Data Definition Language),是用于描

述数据库中要存储的现实世界实体的语言。一个数据库模式包含该数据库中所有实体的描述

定义。这些定义包括结构定义、操作方法定义等),像create,alter,drop语句,

    编写触发器注意的问题:
    1,一个表里最多有12个触发器,但是同一时间,同一事件,同一类型的触发器只能有一个

,并且各触发器之间不能有矛盾
     2,一个表里的触发器越多,对该表的DML操作的性能影响就越大
     3,触发器最大是32k
 
     触发器的组成:
     1,触发器的定义:
     2,触发器要触发的时间,
     3,触发器在被触发之后要执行什么动作
  

     具体如下:
   
  写一个触发器:其中tr_emp是新建的触发器的名字,
   create or replace trigger tr_emp
   before delete  --要出发的时间
   on emp
   for each row
   begin  --在触发后,执行的动作,
   insert into empcopy values(:old.empno,:old.job,:old.hiredate,:old.comm,:old.deptno);

   end;
  
  删除触发器:
    drop trigger tr_emp;

其中: 1,for each row是行级触发器,举个例子说,如果你要删除部门号是10的人,要触

发器,保存你删除的记录,则触发器就会每一行的进行比较,知道没有符合条件的记录时,
如果没有这一句,就会执行一次,
        2,:new --为一个引用最新的列值;
             :old --为一个引用以前的列值;


 

SQL触发器

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时
SQLServer 中的触发器是一种特殊的存储过程,而存储过程可以说是对数据库定义的一些“操作”,几天
在上一篇博客中我们学习总结了存储过程,今天我们学习一种特殊的存储过程——触发器。顾名思义,触
触发器 概述 触发器为特殊类型的存储过程,可在执行语言事件时自动生效。SQL Server 包括三种常规类
触发器是一种特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发而被执行
简单介绍: 触发器其实是一种特殊的存储过程,它只有在特定的事件发生时自动执行。存储过程和触发器
在上一篇博客中我们学习总结了存储过程,今天我们学习一种特殊的存储过程——触发器。顾名思义,触
为什么需要触发器 为什么需要触发器(TRIGGER)呢?典型的应用就是银行的取款机系统 假定该系统的数据
触发器 (一)理解: 是一种特殊的存储过程,它不能显式地调用,而是进行insert、delete、update时
  首先, 说下我写篇文章的目的,我希望能把我对触发器的理解,分享出来与你一起学习。如果你有对
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号