MSSQL 2005 DML触发器
可以分为以下两种:
after触发器——即在执行(delete、update、insert)数据库操作是触发
定义方式
--triggerName即触发器名称
create trigger triggerName
--tableName即要设定触发器的表名
on tableName
--do可为delete、update、insert
--after触发器可以使用after 或for关键字
after do
as
……

DEMO
create trigger forDelete
on stu_table
after delete
declare @deletedNum int
set @deletedNum=(select count(*) from deleted)
print @deletedNum

执行后将打印出影响行数

instead of 触发器,顾名思义就是代替用户的数据操作执行触发器设定的操作
定义方式
--triggerName即触发器名称
create trigger triggerName
--tableName即要设定触发器的表名
on tableName
--do可为delete、update、insert
instead of do
as
……

DEMO
alter trigger deleteAlert
on userTable
instead of delete
as
print '不允许删除此表中的记录'

执行后将打印出:不允许删除此表中的记录

INSTEAD OF 触发器的主要优点:
1、可以使不能更新的视图支持更新。基于多个基表的视图必须使用 INSTEAD OF 触发器来支持引用多个表中数据的插入、更新和删除操作。
2、可以以编写这样的逻辑代码:在允许批处理的其他部分成功的同时拒绝批处理中的某些部分。

有一点要注意:  
对于含有使用 DELETE 或 UPDATE 级联操作定义的外键的表,不能定义 INSTEAD OF DELETE 和 INSTEAD OF UPDATE 触发器。

转载于:https://www.cnblogs.com/majiangquan/archive/2009/03/26/1422474.html

MSSQL 2005 DML触发器相关推荐

  1. 杂谈--DML触发器学习

    触发器按类型分为三类: 1. DML 触发器,在数据变更时触发: 2. DDL 触发器,在修改数据库级别或实例级别对象时触发: 3. Login 触发器,在用户登录时触发: 最常见的是DML触发器,D ...

  2. mysql 触发器不能同时 insert or update or delete_运维日记|SQL server 那点事——DML触发器...

    11月19日,21点,小编正六指霸屏,决赛圈1V4,忽然,电话响了,这种感觉很熟悉,不错,上次差点推掉对面水晶的那一幕又上演了--作为一名美创的员工,客户才是第一位,我毫不犹豫的摁下了接听键. ​ X ...

  3. DML触发器实现日志功能

    trigger实现日志功能:DML触发器由DML语句触发 create table student (sid number(4) primary key, sname varchar2(20), sa ...

  4. Oracle 原理:DML触发器和数据库触发器

    一.DML触发器 触发器的作用即当某个事件发生时会自动执行执行程序段里的内容. 触发器可以作用于表或者视图,可以指定在insert 或update 或delete  操作前.操作时.操作后 执行特定的 ...

  5. Oracle入门(十四.20)之创建DML触发器:第一部分

    一.什么是DML触发器? DML触发器是执行SQL DML语句(INSERT,UPDATE或DELETE)时自动触发(执行)的触发器. 您可以通过两种方法对DML触发器进行分类: •执行时间:BEFO ...

  6. 触发器三(行级DML触发器)(学习笔记)

    行级DML触发器 每当一条记录出现更新操作时进行触发操作定义时要定义FOR EACH ROW 使用":old.字段"和":new.字段"标识符 No. 触发语句 ...

  7. MSSQL 2005数据库与SP4补丁安装

    MSSQL 2005数据库与SP4补丁安装 Sql Server 2005 正确安装之前的win7配置: http://wenku.baidu.com/link?url=6T3jzVnu2XY_sfq ...

  8. MSSQL 2005 分页分析及优化(转)

    MSSQL 2005 分页分析及优化 MSSQL 分页方式说明: 目前我所知的有以下几种方式 临时表 表变量 in, not in SET ROWCOUNT CTE id >, id < ...

  9. sqlserver 触发器 update_运维日记| SQL server 那点事——DML触发器

    各位新朋友-记得先点蓝字关注我哦- 11月19日,21点,小编正六指霸屏,决赛圈1V4,忽然,电话响了,这种感觉很熟悉,不错,上次差点推掉对面水晶的那一幕又上演了--作为一名美创的员工,客户才是第一位 ...

最新文章

  1. Android 10.0 PackageManagerService(三)APK扫描-[Android取经之路]
  2. NSAutoReleasePool使用中drain和release的区别
  3. 2.3.4 mysql 用户密码管理
  4. 使用RestTemplate访问restful服务时遇到的问题
  5. c语言 fscanf的头文件,fscanf函数在哪个头文件中
  6. linux如何编译wine,利用winelib编译一个可在linux下运行的程序
  7. 实用的无锁队列(一)
  8. Javascript实现获取及设置光标位置的方法
  9. chromebook开发php,玩转chromebook
  10. BZOJ4817 [SDOI2017]树点涂色
  11. error: possibly undefined macro: AC_PROG_LIBTOOL
  12. pcs7服务器没有报警信息,PCS7操作员站体系结构
  13. html表格 超链接无效,excel表格超链接失效怎么处理
  14. [常用办公软件] wps怎么自动生成目录?wps自动生成目录的设置教程
  15. centos7搭建webpack
  16. 杀戮间服务器未响应,杀戮间2打不开怎么办,游戏没反应的解决办法
  17. 软件测试的正向思维,反向思维
  18. 18日精读掌握《费曼物理学讲义-卷一》计划(2019/6/12-2019/6/29)
  19. 《白帽子讲Web安全》8-文件上传漏洞
  20. pulsar分析以及各消息队列对比

热门文章

  1. 手把手教你代码重构,是时候告别屎一样的代码了!
  2. DB-Engines 2018:PostgreSQL 蝉联“年度数据库”称号
  3. 阿里巴巴P9大佬雷卷与中间件小哥重新定义:高段位程序员的学习之道
  4. UBUNTU下gedit编辑器出现中文乱码现象
  5. 7.类的访问控制和继承
  6. linux复制文件命令cat ,Linux学习之四(复制移动文件命令cp等及查看文本命令cat等)2017-03-28...
  7. php bc高精度测试,php BC高精确度函数库
  8. html 图片能重叠吗,css两张图片怎么叠加在一起?
  9. 计算机组成原理怎么考察的,计算机组成原理课程考察报告(论文).doc
  10. 数据中心调试的重新思考