您的位置:首页 > 其它

触发器

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

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

    分类:

1

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

2

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

3

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

步骤详解:

首先我们创建一个触发器,在Category这个表上创建了delete触发器“

        


    

      

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

       触发器与存储过程的主要区别在于触发器的运行方式。存储过程必须有用户、应用程序或者触发器来显示的调用并执行,而触发器是当特定时间出现的时候,自动执行或者激活的,与连接用数据库中的用户、或者应用程序无关。
        当一行被插入、更新或者删除时触发器才执行,同时还取决于触发器是怎样创建的,当UPDATE发生时使用一个更新触发器,当INSERT发生时使用一个插入触发器,当DELETE发生时使用一个删除触发器。

     

       
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: