博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL Sever触发器的基本语法与作用
阅读量:4887 次
发布时间:2019-06-11

本文共 1752 字,大约阅读时间需要 5 分钟。

本人萌新,对sql语句不是特别了解,有错误,或者解释不正确请不吝赐教,谢谢啦

 

什么是触发器?

  • 触发器是在对表进行插入、更新或删除操作时自动执行的存储过程
  • 触发器通常用于强制业务规则
  • 触发器是一种高级约束,可以定义比用CHECK 约束更为复杂的约束 :可执行复杂的SQL语句(if/while/case)、可引用其它表中的列
  • 触发器定义在特定的表上,与表相关。
  •  自动触发执行
  •  不能直接调用
  •  是一个事务(可回滚)

使用触发器的好处

触发器可通过数据库中的相关表实现级联更改,不过,通过级联引用完整性约束可以更有效地执行这些更改。
触发器可以强制比用约束定义的约束更为复杂的约束。与 CHECK 约束不同,触发器可以引用
其它表中的列。例如,触发器可以使用另一个表中的 SELECT 比较插入或更新的数据,以及执行其它操作,
如修改数据或显示用户定义错误信息。触发器也可以评估数据修改前后的表状态,并根据其差异采取对策。
一个表中的多个同类触发器(INSERT、UPDATE 或 DELETE)允许采取多个不同的对策以响应同一个修改语句。
 

触发器的类型

  • DELETE 触发器
  • INSERT 触发器
  • UPDATE 触发器

创建触发的语法

CREATE TRIGGER trigger_name      --触发器名称 ON table_name                   --触发的表 [WITH ENCRYPTION]  FOR [DELETE, INSERT, UPDATE]   --选择触发器类型 AS                              --触发后要做的语句  T-SQL语句GO                               --结束标记

 

--删除触发器

drop TRIGGER 触发器名

 

 

----------------------------------------------------------------------------------分割线--------------------------------------------------------------------------------------------实例2

 

----触发器添加(delete):当删除子表时触发自动删除主表,

 

CREATE TRIGGER dele -- dele触发器

ON result --要触发的表(子表)
FOR DELETE --删除触发 [ insert, update,delete ]可选

 

AS --触发之后做的事情

delete studb --主表
where id=( SELECT sid FROM deleted ) --daleted:表示删除的那条数据的对象
go --结束标签

 

delete result where id=43

--删除触发器
drop TRIGGER dele

 

select * from dbo.studb
select * from result

 

------------------------------------------------------------------------------------------------------------------------

------实例2

--------------修改触发器

 

CREATE TRIGGER updat -- update触发器

ON studb --要触发的表(子表)
FOR update --修改触发 [ insert, update,delete ]可选

 

AS --触发之后做的事情

 

update result SET mark=99

where sid=( SELECT id FROM inserted )
go --结束标记
update dbo.studb
SET
name = '小啦'
where id= 23
--删除触发器操作
drop TRIGGER updat

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/wangshaod/p/9547709.html

你可能感兴趣的文章
3.单例模式-singleton
查看>>
说说Vue.js的v-for
查看>>
Java第四次作业
查看>>
屏幕录像软件 (Desktop Screen Recorder)
查看>>
【codevs1069】关押罪犯
查看>>
iOS 设计模式之单例
查看>>
POJ 1664 放苹果
查看>>
Pthon3各平台的安装
查看>>
python编程快速上手之第11章实践项目参考答案(11.11.3)
查看>>
JS 之CLASS类应用
查看>>
一个tga工具
查看>>
64bit CPU 知识 (IA32,IA64,EM64T,AMD64)
查看>>
结构体 枚举
查看>>
srtlen实现以及与sizeof的比较
查看>>
linux+win7双系统重装win7修复grub的办法
查看>>
让应用在横屏模式下启动
查看>>
日常练习 1.0
查看>>
php集成环境
查看>>
Ubuntu下的负载均衡Web集群配置
查看>>
mvc的个别对输入数据的验证
查看>>