一般地,创建触发器的语法如下:
Create Trigger触发器名称
On 表名|视图名 --指定所创建的触发器与某个已存在的表或视图关联 For {Insert, Delete, Update} --指定触发器的类型(即插入,删除,更新或它们的任意组合)
As
SQL语句 --指定触发器的动作
工作原理
对于每个触发器,SQL Server都会自动创建2个临时工作表,即inserted表和deleted表,这2个表作为系统的专用表存放于内存中,其结构与被作用的表相同,且在触发行为结束后自动被删除。
下面分别说明inserted和deleted这二个工作表与客户端发出的Insert,Delete或Update请求的关系。
请求 工作表名称 工作表内容
Insert Inserted 被插入的行
Deleted /
Delete Inserted /
Deleted 被删除的行
Update Inserted 被插入的行
Deleted 被删除的行
IF EXISTS (SELECT name
FROM sysobjects
WHERE name = N'triUpdPartsQty'
AND type = 'TR')
DROP TRIGGER triUpdPartsQty
GO
CREATE TRIGGER triUpdPartsQty
ON Part_s
FOR UPDATE
AS
If UPDATE(PS_QTY) OR UPDATE(PS_AVAILABLE)
BEGIN
update Part_s set UPD_DATE= convert(nvarchar(8),getdate(),112) from Part_s ps
inner join Inerted i on ps.P_NO=i.P_NO and ps.S_NO=i.S_NO
END
分享到:
相关推荐
1. 使用图形界面:在SQL Server Management Studio(SSMS)中,可以通过对象资源管理器右键点击“触发器”目录,选择“新建触发器”,然后在设计界面编写T-SQL代码来创建触发器。 2. 使用T-SQL:直接在查询编辑器中...
### SQL Server 创建触发器实现远程服务器相应执行SQL语句 #### 概述 本文将详细介绍如何在SQL Server中创建触发器来实现当本地数据库发生数据插入时,在远程服务器上相应地执行SQL语句,实现数据同步。这通常用于...
创建触发器通常涉及以下步骤:定义触发事件、指定操作前或操作后执行(AFTER或INSTEAD OF)、编写触发器体内的T-SQL代码。 接下来,我们讨论存储过程(Stored Procedures)。存储过程是一组预编译的SQL语句,它们...
- **CREATE TRIGGER**:创建触发器的关键字。 - **TT**:触发器的名称。 - **ON TSYS_BAMKZ**:指定触发器所绑定的表。 - **FOR INSERT**:指定触发器的激活条件为INSERT操作。 - **AS**:后面跟的是触发器执行的...
使用`CREATE TRIGGER`语句创建触发器,需要指定触发器名、触发时机(AFTER或INSTEAD OF)、触发操作(INSERT、UPDATE或DELETE),以及触发器体(包含执行的SQL语句)。 6. **使用触发器**: 触发器的行为对用户...
总的来说,SQL Server中的触发器是强大的工具,可以增强数据库的逻辑功能,但需谨慎使用,以免引入不必要的性能问题和复杂性。在设计数据库时,应充分考虑触发器的影响,并确保其逻辑清晰,便于维护。
- 使用`CREATE TRIGGER`语句创建触发器,指定触发器的名称、触发时机(如AFTER UPDATE)、触发操作(如UPDATE)以及触发器的逻辑代码。 4. **表结构定义**: - 示例中创建了三个表:`XINXIN_TAB`(信息表)、`...
**SQL Server 2000 触发器详解** 在SQL Server 2000中,触发器是一种特殊的存储过程,它在特定的数据库操作(如INSERT、UPDATE或DELETE)发生时自动执行。触发器是数据库规则和约束的扩展,可以用于实现更复杂的...
本文主要是介绍创建触发器的必要性,然后介绍触发器的应用场合,以及创建触发器能给我呢带来的好处,最后以实际的代码来阐述创建触发器的具体过程及步骤。
### SqlServer触发器调用WebService知识点详解 #### 一、SqlServer触发器简介 在了解如何通过Sql Server触发器调用WebService之前,我们首先需要对触发器有一个基本的认识。触发器是一种特殊的存储过程,它被定义...
创建触发器需要使用CREATE TRIGGER语句。以下是一个简单的INSERT触发器示例: ```sql CREATE TRIGGER trg_InsertExample ON TableName AFTER INSERT AS BEGIN -- 触发器操作代码 END; ``` 这个触发器将在TableName...
创建触发器的T-SQL语句基本格式如下: ```sql CREATE TRIGGER trigger_name ON {table_name | view_name} {AFTER | INSTEAD OF} [INSERT, UPDATE, DELETE] AS sql_statement ``` 举例来说,你可以创建一个名为`orde`...
2. **创建触发器**: 使用`CREATE TRIGGER`语句来创建新的触发器。需要指定触发器的名称、触发时机(AFTER或INSTEAD OF)、触发的表或视图以及触发器执行的SQL语句。 3. **触发器结构**: 触发器由两部分组成:`...
然而,即便是在SQL Server 2000的文档中表明可以在视图上创建触发器,但在实际操作中,这可能导致“对象无效”的错误。 在某些特定情况下,TRUNCATE TABLE和DELETE语句可以达到相同的效果,即删除表中的所有数据,...
### SqlServer触发器详解与案例分析 #### 一、触发器概述 触发器是一种特殊类型的存储过程,它被定义为当特定的事件(如数据的插入、更新或删除)发生时自动执行。Sql Server 中的触发器可以用来强制业务规则或者...
在SQL Server中,触发器是一种特殊的存储过程,它在特定的数据库操作(如INSERT、UPDATE、DELETE)发生时自动执行,以实现复杂的数据完整性规则或业务逻辑。本篇将深入探讨触发器的基本概念、类型、分类及如何实现...
- 使用`CREATE TRIGGER`语句可以创建触发器,指定触发事件、操作的表以及触发时要执行的SQL语句。 - `ALTER TRIGGER`用于修改已存在的触发器,而`DROP TRIGGER`用于删除不再需要的触发器。 - 可以使用`sp_help...
【SQL Server 2005 触发器的使用】 SQL Server 2005 中的触发器是一种特殊类型的存储过程,它会在针对特定表或视图执行UPDATE、INSERT或DELETE语句时自动触发。触发器是表定义的一个重要组成部分,尽管不能直接通过...
创建触发器通常使用CREATE TRIGGER语句,例如创建一个简单的INSERT触发器: ```sql CREATE TRIGGER trg_InsertTable ON TableName AFTER INSERT AS BEGIN -- 触发器体,包含你要执行的SQL语句 INSERT INTO Another...