`
izuoyan
  • 浏览: 9223048 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如果设置触发器执行顺序.

阅读更多

表Writing_Info里有触发器Writing_Taxis_getWritingTaxis如下

---自动在插入新作品的时候创建作品的排行
CREATE TRIGGER Writing_Taxis_getWritingTaxis ON [dbo].[Writing_Info]
FOR INSERT
AS

begin
insert writing_taxis (taxisCategoryid,writingid) (select a.taxiscategoryid,b.writingid from Writing_taxis_category a,inserted b)
end

表writing_chapter里有触发器Writing_Info_getLength如下

----自动修改文章长度
CREATE TRIGGER Writing_Info_getLength
ON Writing_chapter
For insert,update
as
if @@rowcount=0 return

if exists(select a.writingid from inserted a,writing_info c where a.writingid=c.writingid)

begin
update c set c.length=c.length+a.length from inserted a,writing_info c where a.writingid=c.writingid
end

当没有第一个触发器的时候,可以正常的根据writing_chapter里的length统计出作品的长度并且存放到writing_info这个表里.但是加上第一个触发器后,每次更新writing_chapter表的时候,会把writing_info里的length这个字段的值给清空.很是郁闷.请教怎么解决?


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

指定触发的顺序就可以了:
exec sp_settriggerorder
@triggername = 'Writing_Taxis_getWritingTaxis'
, @order = 'first'
, @stmttype = 'insert'


exec sp_settriggerorder
@triggername = 'Writing_Info_getLength'
, @order = 'last'
, @stmttype = 'insert'

分享到:
评论

相关推荐

    oracle触发器执行顺序.pdf

    在本文件中,主要讨论的是针对数据表UPDATE操作的触发器执行顺序。 在Oracle数据库中,触发器的执行顺序遵循特定规则,通常分为BEFORE触发器和AFTER触发器。BEFORE触发器在数据库执行DML操作之前执行,而AFTER...

    Oracle DML触发器的执行顺序.pdf

    Oracle DML 触发器的执行顺序 Oracle 中的 DML 触发器是一种存储在数据库中的 PL/SQL 块,能够自动响应特定事件,以实现一些复杂的业务规则。DML 触发器可以分为三种基本类型:数据操纵语句 (DML) 触发器、数据定义...

    oracle forms 触发器执行顺序

    ### Oracle EBS Forms 触发器执行顺序详解 Oracle E-Business Suite (EBS) 是一个集成的企业资源规划 (ERP) 解决方案,它利用了 Oracle 的技术来提供全面的业务流程管理。其中,Oracle Forms 是一个强大的工具,...

    Oracle触发器基础教程.pdf

    触发器的执行顺序包括: 1. 如果有,最先执行语句级 before 触发器。 2. 每个 insert, delete, update 影响的行;如果有,最先执行行级 before 触发器。 3. 执行行的 delete 或 update。 4. 如果有,执行行级 after...

    Oracle Form 触发器的执行顺序

    Oracle Form 触发器的执行顺序 Oracle Form 是 Oracle E-Business Suite R12 中的一个功能强大且灵活的开发工具,用于创建复杂的商业应用程序。其中,触发器(Trigger)是一种非常重要的组件,它可以根据不同的事件...

    数据库触发器数据库触发器.ppt

    触发器的激发顺序为:如果存在语句之前的触发器,先执行该触发器。对于受语句影响的每一行,如果存在行之前的触发器,执行该触发器。然后,执行该语句本身。如果存在行之后的触发器,执行该触发器。最后,如果存在...

    实验9 触发器及应用.docx

    * 触发器的执行顺序:我们需要确定触发器的执行顺序,以便于确保数据的一致性。 * 触发器的逻辑:我们需要设计触发器的逻辑,以便于实现业务逻辑。 触发器的应用场景 在实际应用中,触发器可以用于多种场景,例如...

    触发器详细介绍.docx

    如果触发器执行了`ROLLBACK TRANSACTION`,则所有后续的触发器都不会执行,无论它们处于多少层的嵌套中。 总之,触发器是数据库系统中用于增强数据完整性和实现复杂业务逻辑的关键工具。理解其工作原理、创建、管理...

    实验四触发器实验报告.pdf

    观察并记录触发器的Q、Q_端的状态,将结果填入表 4.1 中,并说明在上述各种输入状态下,RS执行的是什么逻辑功能? (2)当dS 、dR都接低电平时,观察Q、Q_端的状态,当dS 、dR同时由低电平跳为高电平时,注意观察Q...

    在SQL Server2005由触发器的使用.pdf

    在SQL Server 2005中,可以为单个表创建多个触发器,这些触发器可以嵌套,并且可以指定执行顺序。触发器可以引用视图和临时表,而约束则在触发器执行之前进行检查。触发器与CHECK约束的主要区别在于,触发器可以涉及...

    SQL Server 2005中触发器的应用.pdf

    可以为表上的同一操作定义多个After触发器,并且可以使用系统过程sp_settriggerorder来定义触发器的执行顺序。 DDL触发器是SQL Server 2005中的新特性,它能够响应数据定义语言(DDL)事件,如CREATE、ALTER和DROP...

    三种触发器的执行流程

    #### 二、触发器执行流程详解 ##### 1. 插入触发器的执行流程 当执行INSERT语句时,触发器会在记录被插入到表之前或之后被触发。具体流程如下: - **插入前触发**:在此阶段,触发器可以检查即将插入的数据是否...

    PPT触发器怎么用.docx

    传统的PPT动画通常按照预设的顺序执行,即“单击”、“之后”或“之前”的动画设置。当观众在页面空白处单击鼠标时,页面上的所有动画会依次播放,全部结束后才会转到下一页。然而,使用触发器,你可以创建一种机制...

    SQLServer触发器语法.pdf

    触发器的执行顺序如下所示: 1. 级联操作和约束检查 2. AFTER 触发器 3. INSTEAD OF 触发器 四、触发器的使用方法 触发器可以用于实现各种业务逻辑,例如: 1. 数据验证:可以使用触发器来验证用户输入的数据...

    验证before,after触发器和执行语句的执行顺序(董浩)1

    例如,在多用户环境下,如果两个用户同时触发一个操作,BEFORE和AFTER触发器的执行顺序将决定如何正确处理这些并发请求,避免数据冲突和不一致。此外,这种顺序也影响到数据库审计和追踪功能,因为AFTER触发器通常...

    oracle触发器(trigger).pdf

    - INSTEAD OF 触发器先于约束执行,如果约束被破坏,会回滚触发器操作并阻止AFTER触发器执行。 7. **触发器的使用场景** - **业务规则**:如根据客户账户状态控制新订单插入。 - **强制引用完整性**:虽然主键和...

    SQL*FORMS触发器的执行及控制机制.pdf

    触发器的激活是指触发器被激活的过程,包括触发器的事件和触发器的执行顺序。触发器的执行是指触发器的代码被执行的过程,包括数据的操作和结果的检查。 SQL FORMS 触发器的执行及控制机制是 SQL FORMS 的一个重要...

    mysql触发器介绍.pdf

    - 从MySQL 5.7.2开始,可以为同一表定义多个具有相同触发事件和操作时间的触发器,并可以通过FOLLOWS或PRECEDES来指定它们之间的执行顺序。 通过上述内容,我们可以了解到触发器作为一种强大的数据库自动化工具,在...

Global site tag (gtag.js) - Google Analytics