一般地,创建触发器的语法如下:
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
分享到:
相关推荐
以sql server 2005为例介绍如何通过管理器和T-SQL创建触发器。
本文主要是介绍创建触发器的必要性,然后介绍触发器的应用场合,以及创建触发器能给我呢带来的好处,最后以实际的代码来阐述创建触发器的具体过程及步骤。
SQL server创建触发器实现级联删除
其步骤就是:利用update操作触发器产生的2个虚拟表【inserted】用来存储修改的数据信息和【deleted】表,然后将对应的数据更新到对应数据表中的字段信息中; 1.首先创建3个表: a.信息表: USE [SQL-LI] BEGIN ...
适合开始学习写sql 触发器的同学;一看就会,好好看吧!!
用SQL SERVER 2000 对触发器进行创建极其功能的使用
五﹕使用T-SQL语句来创建触发器 基本语句如下﹕ create trigger trigger_name on {table_name | view_name} {for | After | Instead of } [ insert, update,delete ] as sql_statement 六﹕...
SQL_Server触发器创建、删除、修改、查看示例
例如当对某一表进行诸如`UPDATE`(修改)、`INSERT`(插入)、`DELETE`(删除)这些操作时,SQL Server 就会自动执行触发器所定义的`SQL`语句,从而确保对数据之间的相互关系,实时更新. 触发器的主要作用就是其能够实现由 ...
2.掌握SQL Server Management Studio的启动和使用。 3.掌握SQL Server 2005服务器的配置和注册。 4.掌握SQL Server 2005查询的基本使用。 5.掌握应用SQL Server Management Studio创建数据库的方法。 6.掌握应用SQL ...
SQL SERVER为每个触发器都创建了两个临时表INSERTED表和DELETED表,这两个表的逻辑结构与被触发器作用的表一样,用户可以读取这两个表的内容,但不能对它们进行修改,触发器执行完后,这两个表也会自动删除。...
SQL_Server触发器创建、删除、修改、查看示例教程.doc
一 触发器介绍 二1创建触发器 2修改触发器 3 开启/禁用触发器 4删除触发器
sql server 2005学习笔记之触发器 很全 说的很详细
创建SqlServer数据库触发器脚本范例,方便大家用sql来创建触发器,学习sqlserver的朋友可以参考下。
触发器是一种特殊的存储过程,类似于事件函数,触发器可以在查询分析器里创建,本文从定义入手仔细的讲解了如何制定自己的触发器。
sqlserver创建存储过程和触发器PPT教案.pptx
此文档中详细的记载了,sql server触发器中自动生成的临时表,希望可以帮到有需要的朋友们!
讲述触发器创建,编辑,修改及功能,使用的时候很容易理解