触发器

来源:互联网 发布:什么软件限制游戏 编辑:程序博客网 时间:2024/05/16 08:25

   机房重构的时候也接触了触发器,但是学习的还是不深,只是简单的能实现,现在再看牛腩视频接着学习了。


   触发器(trigger)其实就是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,当对一个表进行操作( insert,delete, update)时就会激活它执行,触发器经常用于加强数据的完整性约束和业务规则等。结合生活来说就是需要接触进行操作,而不是接近控制,需要是在的事物来触发。就像楼道的灯开关,必须有触发才能实现关灯和开灯。只要你操作了就会发生。

    分类:

    1. 1

      DML( 数据操纵语言 Data Manipulation Language)触发器:是指触发器在数据库中发生DML事件时将启用。DML事件即指在表或视图中修改数据的insert、update、delete语句。

    2. 2

      DDL(数据定义语言 Data Definition Language)触发器:是指当服务器或数据库中发生(DDL事件时将启用。DDL事件即指在表或索引中的create、alter、drop语句也。

    3. 3

      登陆触发器:是指当用户登录SQL SERVER实例建立会话时触发。

  1. 步骤详解:
  2. 首先我们创建一个触发器,在Category这个表上创建了delete触发器“
  3.         
    









      


     由以上的sql语句可看出在发生delete以后,要求触发器发一个什么样的操作。这里的意思就是如果出现update了,触发器就会触发输出:select id from deleted

     

触发器与存储过程的区别:


       触发器与存储过程的主要区别在于触发器的运行方式。存储过程必须有用户、应用程序或者触发器来显示的调用并执行,而触发器是当特定时间出现的时候,自动执行或者激活的,与连接用数据库中的用户、或者应用程序无关。

        当一行被插入、更新或者删除时触发器才执行,同时还取决于触发器是怎样创建的,当UPDATE发生时使用一个更新触发器,当INSERT发生时使用一个插入触发器,当DELETE发生时使用一个删除触发器。

     



       


1 0
原创粉丝点击