当前位置:首页 > 系统运维 > 正文内容

SQL server 数据库指定之一个与最后一个触发器的方案

a8116255316年前 (2010-07-05)系统运维6

以下的文章主要向大家讲述的是SQL server 数据库如何正确指定之一个触发器与最后一个触发器的实际操作方案,其具体的操作方案可以将和表相关联的 AFTER 触发器之一指定为每个 INSERT、DELETE 和 UPDATE 触发动作执行的之一个或最后一个 AFTER 触发器。

在之一个和最后一个触发器之间激发的 AFTER 触发器将按未定义的顺序执行。

若要指定 AFTER 触发器的顺序,请使用 sp_settriggerorder 存储过程。可用的选项有:

之一个

SQL server 数据库指定该触发器是为触发操作激发的之一个 AFTER 触发器。

最后一个

指定该触发器是为触发操作激发的最后一个 AFTER 触发器。

指定触发器的激发没有特定的顺序。主要用于重新设置之一个或最后一个触发器。

以下是使用 sp_settriggerorder 的示例:

sp_settriggerorder @triggername = 'MyTrigger', @order = 'first', @stmttype = 'UPDATE' 

重要 之一个和最后一个触发器必须是两个不同的触发器。

可能同时在表上定义了 INSERT、UPDATE 和 DELETE 触发器。每种语句类型可能都有自己的之一个和最后一个触发器,但它们不能是相同的触发器。

假如为某个表定义的之一个或最后一个触发器不包括触发操作,如 FOR UPDATE、FOR DELETE 或 FOR INSERT,则缺少的操作将没有之一个或最后一个触发器。

不能将 INSTEAD OF 触发器SQL server 数据库指定为之一个或最后一个触发器。在对基础表进行更新前激发 INSTEAD OF 触发器。然而,假如由 INSTEAD OF 触发器对基础表进行更新,则这些更新将发生于在表上定义触发器(包括之一个触发器)之后。

例如,假如视图上的 INSTEAD OF 触发器更新基表并且该基表包含三个触发器,则该三个触发器在 INSTEAD OF 触发器插入数据之前激发。有关更多信息,请参见SQL server 数据库指定触发器何时激发。

假如 ALTER TRIGGER 语句更改了之一个或最后一个触发器,则将除去 First 或 Last 特性,并且顺序值将设置为 None;必须用 sp_settriggerorder 重置此顺序。

OBJECTPROPERTY 函数使用属性 ExecisFirstTrigger 和 ExecIsLastTrigger 报告触发器的顺序是之一个还是最后一个。

复制将为本身是即时更新订户或排队更新订户的任何表自动生成之一个触发器。复制要求它的触发器是之一个触发器。假如尝试使具有之一个触发器的表成为即时更新订户或排队更新订户,复制将引发错误。假如使表成为即时更新订户或排队更新订户之后使用户定义触发器成为之一个触发器,则 sp_settriggerorder 会返回一个错误。

假如在复制触发器上使用 ALTER,或使用 sp_settriggerorder 将复制触发器更改为最后触发器或无触发器,则订阅将不能正确工作。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/21503.html

分享给朋友:

“SQL server 数据库指定之一个与最后一个触发器的方案” 的相关文章

windows 7/8.1正在启动windows时间长的解决方法

windows 7/8.1正在启动windows时间长的解决方法

正在启动windows时间长怎么办 小编带来了Windows 7/8.1正在启动windows时间长解决方法,假如有朋友在安装完Windows系统之后一直停留在“正在启动windows”的话,不妨试一试下文的方法哦~ 原因:Windows 7/8.1不完全支持UEFI,需要CSM(Comp...

windows 7系统的电脑发出嘟嘟嘟的声音该怎么解决?

windows 7系统的电脑发出嘟嘟嘟的声音该怎么解决?

在某些电脑中,机器内部蜂鸣器与系统的声音输出方案是相关联的,这样一来会导致当系统输出声音时,即使电脑没有连接外部音响或耳机,也会通过内置蜂鸣器发出“嘟嘟哔哔”的声音。这个问题主要出现在Windows 7电脑中,假如你的电脑恰好遇到了这样的问题,可参考下面的方法来解决: 1、在桌面“计算机”图标上右...

windows 7查看电脑近期使用情况确定有没有被他人使用

windows 7查看电脑近期使用情况确定有没有被他人使用

我一个朋友最近装装了Windows 7,他总感觉有人用了他的电脑,但是一直不确定,他想知道有没有人动用他的电脑,问我有没有办法 我说设置一下就行了: 启动Windows 7,在搜索栏中输入编辑组,马上就搜索到了编辑组策略,点击即可启动程序编辑组策略。依次展开组策略左侧树形列表的计算机配置/管理模...

Skylake平台不能通过USB接口装windows 7系统

Skylake平台不能通过USB接口装windows 7系统

Intel会在2015年推出Broadwell、Skylake两代14nm处理器,前者可以使用9系芯片组,Skylake升级到了LGA1151插槽,需要搭配新的100系列芯片组,但初期的Skylake-S又不能超倍频,所以今年Q2季度开始会很混杂。Skylake一代会支持DDR4,100系列芯片组升...

windows 7系统开机后出现黑屏提示Windows无法启动

windows 7系统开机后出现黑屏提示Windows无法启动

一些用户的Windows 7系统开机后出现黑屏,代码为 Windows无法启动: WindowsSystem32ConfigSystem”。这个问题该如何修复呢?现在小编就给大家分析一下吧。 其实这个代码的意思是引导文件丢失了,引导文件(NTLDR)一般存放于C盘根目录下,是一个具有隐藏和只读属性...

windows 7如何给c盘扩容 图解windows 7 64位系统C盘扩容方法(自

windows 7如何给c盘扩容 图解windows 7 64位系统C盘扩容方法(自

用Windows 7久了,C盘越来越大,原来50G的空间基本用完了,又不想重装系统,就想着能不能直接扩容。 在网上搜了半天,看了无数教程,都写得不明不白的,结合了几篇教程才终于搞明白。 重新总结一下,方便有需要的人。 所用软件: http://www.jb51.net/softs/57895...