create trigger TgName
on tb
for update
as
if update(recommend)
begin
update tb set commenddate=(getdate()) from tb inner join inserted on tb.vlistid=Inserted.vlistid
end
关键在于Inserted表
触发器语句中使用了两种特殊的表:deleted 表和 inserted 表。
Deleted 表用于存储 DELETE 和 UPDATE 语句所影响的行的复本。在执行 DELETE 或 UPDATE 语句时,行从触发器表中删除,并传输到 deleted 表中。Deleted 表和触发器表通常没有相同的行。
Inserted 表用于存储 INSERT 和 UPDATE 语句所影响的行的副本。在一个插入或更新事务处理中,新建行被同时添加到 inserted 表和触发器表中。Inserted 表中的行是触发器表中新行的副本。
1.插入操作(Insert)
Inserted表有数据,Deleted表无数据
2.删除操作(Delete)
Inserted表无数据,Deleted表有数据
3.更新操作(Update)
Inserted表有数据(新数据),Deleted表有数据(旧数据
分享到:
相关推荐
SQL Update触发器是一种数据库对象,它允许开发人员在对数据进行更新操作时执行额外的逻辑。触发器在数据库系统中扮演着重要的角色,特别是在维护数据的一致性、执行业务规则和记录历史变化等方面。以下是对SQL ...
SQL数据库触发器的实际应用 触发器是一种特殊类型的存储过程,不由用户直接调用。当使用下面的一种或多种数据修改操作在指定表中对数据进行修改时,触发器会生效:UPDATE、INSERT 或DELETE。触发器可以查询其它表,...
触发器是一种特殊的存储过程,它被定义为当特定类型的事件(如INSERT、UPDATE或DELETE)发生在指定的表上时自动执行的一段代码。触发器可以用来维护数据一致性、实施业务规则或记录审计日志等。 #### 二、...
在这个例子中,我们关注的是UPDATE触发器,特别是当特定字段`Type`被更新时触发的更新操作。 创建触发器的语法如下所示: ```sql CREATE TRIGGER TR_MasterTable_Update ON MasterTable AFTER UPDATE AS BEGIN IF...
触发器是SQL Server中一种特殊的存储过程,其特点在于不能被显式地调用,而是当对特定表进行数据操作(如插入、更新或删除)时自动激活。通过这种方式,触发器能够帮助实现复杂的业务逻辑和数据完整性约束。 #### ...
在 Sqlserver 中,触发器可以分为三种类型:Insert 触发器、Update 触发器和 Delete 触发器。Insert 触发器在插入新记录时触发,Update 触发器在更新记录时触发,Delete 触发器在删除记录时触发。 在使用触发器时,...
### SqlServer触发器详解与案例分析 #### 一、触发器概述 触发器是一种特殊类型的存储过程,它被定义为当特定的事件(如数据的插入、更新或删除)发生时自动执行。Sql Server 中的触发器可以用来强制业务规则或者...
SQL Server 触发器中自动生成的临时表 SQL Server 触发器是一种强大的工具,用于自动执行某些操作,以响应数据库中的变化。其中,系统自动生成的临时表是触发器中一个重要的组成部分。今天,我们将详细介绍 SQL ...
- 另一个例子是使用UPDATE触发器来实现参照完整性的级联更新,当父表的某个字段更改时,自动更新所有相关的子表记录。 6. **最佳实践**: - 尽可能减少触发器的使用,特别是在高并发环境中。 - 明确文档化触发器...
SQL Server 触发器语法详解 SQL Server 触发器是数据库管理系统中的一种机制,用于在执行某些操作时自动执行特定的操作。触发器可以帮助维护数据的一致性和完整性,提高数据库的安全性和可靠性。本文将详细介绍 SQL...
- UPDATE触发器:当对表中的记录进行更新时触发。 - DELETE触发器:在删除表中的记录时触发。 2. 触发器的工作原理: - 当一个DML(Data Manipulation Language)语句(如INSERT、UPDATE或DELETE)执行时,如果...
SQL Server的触发器是一种特殊的存储过程,它在特定的数据操作事件(INSERT、UPDATE或DELETE)发生时自动执行,用于扩展数据库系统的功能,实现更复杂的业务逻辑。触发器可以帮助确保数据完整性,实现级联操作,或者...
SQL 触发器实例讲解 在本文中,我们将详细介绍 SQL 触发器的概念、类型和应用场景。触发器是 SQL Server 中的一种特殊存储过程,用于对某一个表的操作时触发某种条件,从而执行一段程序。常见的触发器有三种:...
- `IF EXISTS (SELECT 1 FROM inserted) AND NOT EXISTS (SELECT 1 FROM deleted)`:检查是否有行被插入且没有行被删除。注意这里的`inserted`和`deleted`是特殊表,分别包含删除前后的行数据。 4. **数据操作**:...
SQL Server 2000 触发器是数据库管理系统中的一种重要特性,它允许数据库管理员在特定的数据库操作(如INSERT、UPDATE、DELETE)发生时执行预定义的T-SQL语句序列。触发器可以被看作是数据库的自动响应机制,类似于...
本篇文章将详细介绍如何在SQL Server中创建一个触发器,当某个表中的特定字段被更新时,记录相关信息到另一个表中,以实现类似日志记录的功能。 #### 触发器概述 触发器是SQL Server提供的一种机制,可以在表或视图...
例如,在一个订单系统中,当客户信息被更新时,订单表中的相关信息也会同步更新。 3. 日志记录:通过触发器,可以自动记录数据库中的变更操作,方便审计和回溯。 4. 复杂业务逻辑:对于不能简单通过约束或存储过程...
触发器是数据库中一种特殊类型的存储过程,它被定义为在特定事件(如INSERT、UPDATE或DELETE操作)发生时自动执行的一组SQL语句。本文将详细介绍如何创建一个触发器来确保当对一张表进行更新时,另一张相关的表也会...