SQL触发器实例

SQL触发器实例1 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。 常见的触发器有三种:分别应用于Insert , Update , Delete 事件。

我为什么要使用触发器?比如,这么两个表: Create Table Student( --学生表 StudentID int primary key, --学号 .... )

Create Table BorrowRecord( --学生借书记录表 BorrowRecord int identity(1,1), --流水号 StudentID int , --学号 BorrowDate datetime, --借出时间 ReturnDAte Datetime, --归还时间 ... )

用到的功能有: 1.如果我更改了学生的学号,我希望他的借书记录仍然与这个学生相关(也就是同时更改借书记录表的学号); 2.如果该学生已经毕业,我希望删除他的学号的同时,也删除它的借书记录。 等等。

这时候可以用到触发器。对于1,创建一个Update触发器: Create Trigger truStudent On Student --在Student表中创建触发器 for Update --为什么事件触发 As --事件触发后所要做的事情 if Update(StudentID) begin

Update BorrowRecord Set StudentID=i.StudentID From BorrowRecord br , Deleted d ,Inserted i --Deleted和Inserted临时表 Where br.StudentID=d.StudentID

end

理解触发器里面的两个临时的表:Deleted , Inserted 。注意Deleted 与Inserted分别表示触发事件的表“旧的一条记录”和“新的一条记录”。 一个数据库系统中有两个虚拟表用于存储在表中记录改动的信息,分别是: 虚拟表Inserted 虚拟表Deleted 在表记录新增时 存放新增的记录 不存储记录 修改时 存放用来更新的新记录 存放更新前的记录 删除时 不存储记录 存放被删除的记录

一个Update 的过程可以看作为:生成新的记录到Inserted表,复制旧的记录到Deleted表,然后删除Student记录并写入新纪录。

对于2,创建一个Delete触发器 Create trigger trdStudent On Student for Delete As Delete BorrowRecord From BorrowRecord br , Delted d Where br.StudentID=d.StudentID

从这两个例子我们可以看到了触发器的关键:A.2个临时的表;B.触发机制。 SQL触发器实例2 /* 建立虚拟测试环境,包含:表[卷烟库存表],表[卷烟销售表]。 请大家注意跟踪这两个表的数据,体会触发器到底执行了什么业务逻辑,对数据有什么影响。 为了能更清晰的表述触发器的作用,表结构存在数据冗余,且不符合第三范式,这里特此说明。 */ USE Master GO

IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = ’U’ AND NAME = ’卷烟库存表’) DROP TABLE 卷烟库存表 GO IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = ’U’ AND NAME = ’卷烟销售表’) DROP TABLE 卷烟销售表 GO

--业务规则:销售金额 = 销售数量 * 销售单价 业务规则。 CREATE TABLE 卷烟销售表 ( 卷烟品牌 VARCHAR(40) PRIMARY KEY NOT NULL, 购货商 VARCHAR(40) NULL, 销售数量 INT NULL, 销售单价 MONEY NULL, 销售金额 MONEY NULL ) GO

--业务规则:库存金额 = 库存数量 * 库存单价 业务规则。 CREATE TABLE 卷烟库存表 ( 卷烟品牌 VARCHAR(40) PRIMARY KEY NOT NULL, 库存数量 INT NULL, 库存单价 MONEY NULL, 库存金额 MONEY NULL ) GO

--创建触发器,示例1 /* 创建触发器[T_INSERT_卷烟库存表],这个触发器较简单。 说明: 每当[卷烟库存表]发生 INSERT 动作,则引发该触发器。 触发器功能: 强制执行业务规则,保证插入的数据中,库存金额 = 库存数量 * 库存单价。 注意: [INSERTED]、[DELETED]为系统表,不可创建、修改、删除,但可以调用。 重要: 这两个系统表的结构同插入数据的表的结构。 */ IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = ’TR’ AND NAME = ’T_INSERT_卷烟库存表’) DROP TRIGGER T_INSERT_卷烟库存表 GO

CREATE TRIGGER T_INSERT_卷烟库存表 ON 卷烟库存表 FOR INSERT AS --提交事务处理 BEGIN TRANSACTION --强制执行下列语句,保证业务规则 UPDATE 卷烟库存表 SET 库存金额 = 库存数量 * 库存单价 WHERE 卷烟品牌 IN (SELECT 卷烟品牌 from INSERTED) COMMIT TRANSACTION GO

/* 针对[卷烟库存表],插入测试数据: 注意,第一条数据(红塔山新势力)中的数据符合业务规则, 第二条数据(红塔山人为峰)中,[库存金额]空,不符合业务规则, 第三条数据(云南映像)中,[库存金额]不等于[库存数量]乘以[库存单价],不符合业务规则。 第四条数据库存数量为0。 请注意在插入数据后,检查[卷烟库存表]中的数据是否 库存金额 = 库存数量 * 库存单价。 */

INSERT INTO 卷烟库存表(卷烟品牌,库存数量,库存单价,库存金额) SELECT ’红塔山新势力’,100,12,1200 UNION ALL SELECT ’红塔山人为峰’,100,22,NULL UNION ALL SELECT ’云南映像’,100,60,500 UNION ALL SELECT ’玉溪’,0,30,0 GO

--查询数据 SELECT * FROM 卷烟库存表 GO /*

结果集 RecordId 卷烟品牌 库存数量 库存单价 库存金额 -------- ------------ -------- ------- --------- 1 红塔山新势力 100 12.0000 1200.0000 2 红塔山人为峰 100 22.0000 2200.0000 3 云南映像 100 60.0000 6000.0000 4 玉溪 0 30.0000 .0000

(所影响的行数为 4 行) */ --触发器示例2 /* 创建触发器[T_INSERT_卷烟销售表],该触发器较复杂。 说明: 每当[卷烟库存表]发生 INSERT 动作,则引发该触发器。 触发器功能: 实现业务规则。 业务规则: 如果销售的卷烟品牌不存在库存或者库存为零,则返回错误。 否则则自动减少[卷烟库存表]中对应品牌卷烟的库存数量和库存金额。 */ IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = ’TR’ AND NAME = ’T_INSERT_卷烟销售表’) DROP TRIGGER T_INSERT_卷烟销售表 GO

CREATE TRIGGER T_INSERT_卷烟销售表 ON 卷烟销售表 FOR INSERT AS BEGIN TRANSACTION --检查数据的合法性:销售的卷烟是否有库存,或者库存是否大于零 IF NOT EXISTS ( SELECT 库存数量 FROM 卷烟库存表 WHERE 卷烟品牌 IN (SELECT 卷烟品牌 FROM INSERTED) ) BEGIN --返回错误提示 RAISERROR(’错误!该卷烟不存在库存,不能销售。’,16,1) --回滚事务 ROLLBACK RETURN END

IF EXISTS ( SELECT 库存数量 FROM 卷烟库存表 WHERE 卷烟品牌 IN (SELECT 卷烟品牌 FROM INSERTED) AND 库存数量 <= 0 ) BEGIN --返回错误提示 RAISERROR(’错误!该卷烟库存小于等于0,不能销售。’,16,1) --回滚事务 ROLLBACK RETURN END

--对合法的数据进行处理 --强制执行下列语句,保证业务规则 UPDATE 卷烟销售表 SET 销售金额 = 销售数量 * 销售单价 WHERE 卷烟品牌 IN (SELECT 卷烟品牌 FROM INSERTED)

DECLARE @卷烟品牌 VARCHAR(40) SET @卷烟品牌 = (SELECT 卷烟品牌 FROM INSERTED)

DECLARE @销售数量 MONEY SET @销售数量 = (SELECT 销售数量 FROM INSERTED)

UPDATE 卷烟库存表 SET 库存数量 = 库存数量 - @销售数量, 库存金额 = (库存数量 - @销售数量)*库存单价

合集下载

第8章 SQL Server 2005的触发器和数据操作K

第8章  SQL Server 2005的触发器和数据操作K

(1)先创建两张新表Order和Cust,在SQL Server Management Studio 查询窗口中输入以下命令: USE test CREATE TABLE [order](oid INT PRIMARY KEY, [id] INT, products CHAR(10)) GO INSERT INTO [order] (oid,[id],products) VALUES(1,2,'VCD') GO INSERT INTO [order] (oid,[id],products) VALUES(2,9,'冰箱') GO USE test CREATE TABLE cust([id] INT PRIMARY KEY, [name] CHAR(10),address CHAR(10),PHONE INT) GO INSERT INTO cust ([id],[name],address,phone) VALUES(1,'lfm','GD','3762000') GO INSERT INTO cust ([id],[name],address,phone) VALUES(2,'lfm2','GD2','3762002') GO INSERT INTO cust ([id],[name],address,phone) VALUES(3,'lfm3','GD3','3762003') GO
(2)创建触发器: USE Test IF EXISTS ( SELECT name FROM sysobjects WHERE name = 'TR1' AND type = 'TR') DROP TRIGGER TR1 GO CREATE TRIGGER TR1 ON Customers FOR INSERT,UPDATE AS RAISERROR (50009,16,10) ROLLBACK GO

SQL Server 2000触发器技术及应用

SQL Server 2000触发器技术及应用
触 发器表 中 的新行被 插 入 ̄ Isr e表 中 ;② 执 行D it操 作 ,从触 发 器 qn et d ee e
D c a e C o h r 1 ) @ n 2 C a (0 e l r @ n l C a (0 , C o h r 1 )
I p a e C o / 判断 是否 修改 了学 生选 课表 中 的课程 号列 F U d t (n ) } /
随 着数据 库 在多种 领 显得
重 要 ,因 此 ,在数 据库 中 如何 保证 数 据的 完整 性 是数 据库 设 计 的重要 内容
A s
D c e C o C a (0 e lr @n h r 1) a
之 ‘ ,数据 库 的完 整性 是 指数据 库 中 数据 的正 确性 、有效 性和 相 容性 , 它
类 型, 总结 了S L S r e 触发器 在程序设计 中的应用, Q e v r 并给 出了S L S r e 触发器应用 实例。 Q evr 关键词 : S L S r e ;A t r 发器;I s e do 触发器 数据 完整性 数据库 设计 Q evr fe触 n t a f 中图分类号:T 3 文献标识码 :A 文章编号 :1 7 —7 9 2 1 )0 1 1 5 0 P 6 1 5 7( 0 0 5 0 1 - 1
SL Sr e 00 每个 触 发 器都 创 建两 个 由系统 来 维护 的不 允 许用 Q e vr 20 为 户直接 进行 修改 的逻 辑概念 表 ,RD l td  ̄e ee 表和 Isr e表 .它们存 放于 内 n et d 存 中,不 存放 在 数据 库 中,这 两 个表 的 结构 总 是与被 触 发器 作 用的 表 的结 构相 同 , 以用于 保存 用户 操 作可 能更 改 的行 的 旧值 或者 新值 ,触 发 器工 作 完成后 ,与触 发器 相 关 的这两 个表 也 被 自动 删除 ,而 用 户却 不 能对 表 中数

SQL_TP8_存储过程和触发器

SQL_TP8_存储过程和触发器

16
删除存储过程
使用T-SQL命令删除存储过程 DROP PROCEDURE {procedure} [,...]
【例】 删除存储过程borrowed_num。 DROP PROCEDURE borrowed_num
17
删除存储过程
使用对象资源管理器中的菜单命令 (1)在对象资源管理器中展开服务器。 (2)展开【数据库】,选择要删除存储过程的数据库。展开【可编程 性】,展开【存储过程】,选择需删除的存储过程,点右键弹出的快 捷菜单中选择【删除】命令。 (3)点击【删除】borrowed_num后出现如图所示的对话框。 (4)点击【确定】按钮,完成删除。
?实现带参数的视图?返回标量值?处理业务逻辑5?允许模块化编程增强代码的重用性和共享性?可以提高运行速度?可以减少网络流量?可以作为安全性机制的扩充存储过程的优点6存储过程有以下几种类型
第八章
存储过程和触发器
1
本章目标
了解存储过程在提高数据访问速度、实现业务处理逻 辑的整体化和程序的模块化中起的保持一致性和提高 安全性的作用。 掌握通过CREATE PROCEDURE语句创建存储过程, 通过EXECUTE语句调用存储过程的方法。 了解触发器在保证数据的一致性中所起的作用。 了解触发器的触发机制,掌握DML触发器的编写。 了解游标的处理机制。
4
存储过程的优点
允许模块化编程,增强代码的重用性和共享性 可以提高运行速度 可以减少网络流量 可以作为安全性机制的扩充
5
存储过程的分类
存储过程有以下几种类型:系统存储过程、用户存储 过程、临时存储过程、扩展存储过程、远程存储过程。 系统存储过程是由SQL Server提供的过程,可以作为命令 直接执行。 用户存储过程是用户创建的存储过程,一般存放在用户数 据库中。 临时存储过程属于用户存储过程。如果用户存储过程前面 加上符号“#”,则该存储过程称为局部临时存储过程,只 能在一个用户会话中使用;如果用户存储过程前面加上符 号“##”,则该过程称为全局存储过程,可以在所有用户 会话中使用。 远程存储过程是指从远程服务器上调用的存储过程,或者 是从连接到另外一个服务器上的客户机上调用的存储过程, 是非本地服务器上的存储过程。

SQL Server触发器技术应用

SQL Server触发器技术应用

4触 发 器 的 实 现 .
触 发 器 的 实 现 离 不 了 两 个 专 用 表 :n etd表 和 Deee I sr e ltd 表 。 这 是 两 个 逻辑 表 , 系统 来 维 护 , 户 不 能 对 它 们 进 行 修 由 用 改 。 们 存 放 在 内存 而 不 是 数 据 库 中 。 两 个 表 的 结 构 总是 与 它 这 激 活 该 触 发 器 的表 的结 构 相 同 。 发器 执 行 完 成 后 , 触 与该 触 发 器 相 关 的 这 两 个表 也会 被 删 除 。 当 向 触发 器 表 中插 人 数 据 时 ,新 的记 录会 增 加 到 触 发 器 表 和isr d 中 ; ne e 表 t 当删 除 触 发 器 表 中 的 数据 时 , 删 除 的 记 录 被 会 存 放 到 dl e 表 中 ; e td e 当更 新触 发 器 表 中 的 数 据 时 , 当 于 插 相 入一 条新 记 录 和删 除一 条 旧 记 录 .此 时 表 中原 有 的 记 录 存 放 到d ltd 中 , 改后 的记 录插 入 到 isr d 中 。 e e表 e 修 n et 表 e 在 创 建 触 发 器 时需 要 制 定 以 下 内 容 : 发 器 的名 称 、 发 触 触 器所 基于 的表或 视图 、 发 器种类 ( F E 触 A T R或 I S E D O ) N T A F 、 激 活 触 发 器 的修 改 语 句 (N E T、 P A E和 D L T 、 发 IS R U D T E E E) 触 器 执 行 的 语 句 . T S L 句 创 建 触 发 器 的具 体 语 法 如下 : 用 —Q 语
I S E F 发ห้องสมุดไป่ตู้器用 于替 代 引起 触 发 器 执 行 的T S L N T ADO 触 - Q 语

用SQL语句查找包含有某个关键字的存储过程、触发器、函数等等

用SQL语句查找包含有某个关键字的存储过程、触发器、函数等等
用sql语句查找包含有某个关键字的存储过程触发பைடு நூலகம்函数等等sql语句如下
用 SQL语句查找包含有某个关键字的存储过程、触发器、函数等 等
用SQL语句查找包含有某个关键字的存储过程、触发器、函数等等,SQL语句如下:
select OBJECT_NAME(id) as 存储过程,id from syscomments where id in (
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
UQ = UNIQUE 约束(类型是 K)
select object_id(name) from dbo.sysobjects where xtype='P' --存储过程为P ) and text like '%FieldName%' --关键字 group by id
xtype:对象类型。可以是下列对象类型中的一种:
C = CHECK 约束
V = 视图
X = 扩展存储过程

浅谈SQL Server 2000触发器

浅谈SQL Server 2000触发器
约 束。H C 约束不允许引 用其他表 中的列来完成检查工作, CEK 而触 发器可 以引用其他表 中的列。 2 触发操作

SL S r e 为每个触 发器都 创建 了两个 专用表 :I— Q e vr n
sre e td表和 D l td 。这是两个逻辑表, 由系统来维护, eee 表
() I触发器 自动执行。在对表 中的数据做 了任何修改之
后立 即被激活 。
IS E D O N T A F触发器又称为替代触发器。替代触 发实际 上是取 消了原有的触发动作, 在数据库引擎 创建 了i sr e netd 和d l t d e e e 临时表 后执行相应 的替代操作 。IS ED O 触 发 NTA F


要:触发 器是 一种特殊 类型的存储过 程, 由 T O -S L语句组成。 它与表 紧密相连 ,但 是具有 自己显著的特点 。本
文介绍 了三种类型的触发器 ,并结合具体 的应用实例说 明它们的用法。 关键词: 触发器: Q ev r net d D ltd S LS re,Is re ; ee e 中图分类号 :T 3 1 1 22 P l .3 . 文献标识码 :A 文章编号 :1 7 -4 9 一 2 0 )- 0 5 0 6 1 7 2 (0 64 0 6 — 2
触发操作有三种 IS R . PA E D L T 。 N E T U D T 和 E EE 触发器的 信息和定义文本被插入到s s b e t 和ss o m n s y o j c s y c m e t 系统 表 中,如果创 建的触 发器 和一个现有的触发器 同名,则原有的
用户不能对它们进行修改, 因为它 们存放在 内存 中。 这两个
K v r s T i g r:S L S r e e wo d : r g e a e v r: I s r e n e t d; D l t d e e e

崔连和_SQL Server课件_第10课- 触发器完成稿


想象一只刚被母鹰孵化出来的雏鹰,抖动粘 湿的翅膀,想要飞上青天的模样。
那是一个多么壮观的场面呀!从一只不会飞
行的雏鹰,到翱翔蓝天的巨鹰,这个过程要经过
多少磨炼呀!

雏鹰在窝里嗷嗷待哺的等待母亲。
雏鹰挥舞弱软的臂膀。
母鹰带领小鹰晒太阳。
一只小鹰不小心从树窝跌落因而折翼 小鹰在母鹰背上享受凌风的速度。 小鹰开始飞行。 长成巨鹰。
统时间更新到“CreateDate”字段中。
简要分析:
触发器就是当设定的一个事件发生时去自动执行另
一个事件。本次任务比较简单,是一个修改触发器,只 要注意分清触发事件和被触发事件即可。
实现步骤:
(1)要了解触发器的含义,知道触发器是用来做什么。 (2)要知道在SQL Server 2008的资源管理器中如何
创建触发器;
(3)创建的触发器如何执行。
本任务包括触发器的创建与运行,实现的具体步骤如下。
步骤01:启动触发器编辑窗口。在SSMS中依次展开
【OASystem】|【表】|【Department】节点,找到【触 发器】子节点,右击【触发器】子节点,在弹出的菜单 中单击【新建触发器】命令,打开触发器编辑窗口,如 图10-1所示。
图10-1 启动触发器编辑窗口
步骤02:编写代码。步骤
CREATE TRIGGER News_trig On News AFTER UPDATE AS BEGIN
01完成之后,系统自动在
查询编辑器窗口中生成创 建触发器的模板代码及注 释,这些代码和缩写的功 能是架构环境和说明程序 。通常不使用系统提供的 语句模版,将代码全部删
步骤02:窗体介绍。窗 体中的语句基本与创 建触发器时的语句相

SQL Sever2005中利用触发器实现数据库完整性的教学案例设计

SQL Sever2005中利用触发器实现数据库完整性的教学案例设计摘要:本文详细设计了sql sever 2005中利用触发器实现数据库完整性的教学案例,通过案例驱动的方式完成了数据库完整性的教学任务。

实践表明,此教学方式能够弥补传统教学的不足,激发每位学生的学习兴趣和学习潜能,锻炼学生良好的职业规范道德、团队分工协作等素质,大大缩短教学情景与实际软件开发的差距,增强以实践能力培养为目标的应用型人才培养新模式,从而实现应用型人才的培养目标。

关键词:案例设计;教学改革;数据库完整性中图分类号:tp311.138 文献标识码:a 文章编号:1007-9599 (2012)19-0000-02数据库的完整性是指防止不合语义的即不正确、不相容的数据进入数据库[1]。

绝大部分rdbms都支持使用触发器实现数据库的完整性。

触发器(trigger)是保证数据完整性的一种方法,是用户定义在基本表上的一类由事件驱动的特殊过程。

它与表格紧密相连,可以看做是表格定义的一部分,当用户修改指定表中的数据时,触发器将会自动执行[2]。

触发器基于一个表创建,但是可以针对多个表进行操作,所以触发器常被用来实现复杂的商业规则。

1 案例描述在银行的自动取款机系统中,有两个数据表:账户信息表(bank)和交易信息表(transinfo)。

账户信息表(bank)中记录每个账户的账号cardid、账户的户主姓名customername、该账户上目前的余额currentmoney。

交易信息表(transinfo)中记录每一笔交易的时间transdate、交易的卡号cardid、交易的类型transtype、交易的金额transmoney。

提出问题:现在余萧萧使用自动取款机系统取200元钱,如何编写程序使该自动取款机系统自动修改余萧萧的余额。

2 案例分析当客户进行一项存款或取款操作时,会在交易信息表(transinfo)上形成一个插入操作。

巧妙应用SQL Server触发器


O N
{ benme i _ a } t l a l e nme a _ vw
{ F RI S E OF A T E N I TA D }
【 E T P D T ,D L T 】 I R ,U A NS E EE E
AS Sq at m e t St e n
4 实际应 用
在 一 个 Makt数据 库 中有 God re o s表 、C s mes表 及 ut r o O d r 表 ,三个表的结构如下所示 : res
从表 中删除的所有行。 在执行 D L T 或 U D T 操作 时, EE E PA E 被删除的行从表中被移动到 De td ,这两个表不会有共 le 表 e 同的 行 。 Isr d表存 放 由 于执 行 I S R net e N E T或 UP A 语 句 而 要 D T E 向表中插入的所有 行。在 I S R N E T或 U D T 事务中,新 PA E 的 行 同时 添 加 到 激 活 触 发 器 的表 和 Is ̄ d 表 中 ,Isr d ne e net e 表 的 内容 是激 活触 发器 的表 中新 行 的 拷 贝 。 在创建触 发器 时需要制定 以下 内容:触发器的名称 、 触 发器所基于的表或视 图、 触发器种类 ( F E 或 I S E D ATR N TA O 、激 活 触 发 器 的修 改 语 句 ( S R F) N I E T、UP A E 和 D T
Mirc mp t Ap l a o s o. 6 N ., 0 0 co o u e pi t n 1 , o4 2 1 r ci V 2
文 章 编 号 : 10 -5 X(0 040 6 -2 0 77 7 2 1)-0 30
学 习园地

sql server inserted用法(一)

sql server inserted用法(一)SQL Server INSERTED用法1. INSERTED用法简介在SQL Server中,INSERTED是一个临时表,用于在触发器中存储由INSERT操作插入的新数据。

通过使用INSERTED表,可以在触发器中访问并操作插入的数据。

2. 使用INSERTED表获取插入的数据在触发器中,通过SELECT语句可以访问INSERTED表,并获取插入的数据。

以下是使用INSERTED表获取插入数据的示例:CREATE TRIGGER [dbo].[MyTrigger]ON [dbo].[MyTable]AFTER INSERTASBEGINSET NOCOUNT ON;-- 获取插入的数据SELECT * FROM INSERTEDEND3. 使用INSERTED表进行数据操作除了获取插入的数据,INSERTED表还可以用于进行其他数据操作,如更新其他表的数据。

以下是使用INSERTED表进行数据操作的示例:CREATE TRIGGER [dbo].[MyTrigger]ON [dbo].[MyTable]AFTER INSERTASBEGINSET NOCOUNT ON;-- 更新另一张表的数据UPDATE OtherTableSET Column1 = 'NewValue'WHERE Column2 IN (SELECT Column2 FROM INSERTED)END4. 使用INSERTED表获取特定列的值除了使用SELECT语句获取所有列的值,还可以使用INSERTED表获取特定列的值。

以下是使用INSERTED表获取特定列的值的示例:CREATE TRIGGER [dbo].[MyTrigger]ON [dbo].[MyTable]AFTER INSERTASBEGINSET NOCOUNT ON;-- 获取特定列的值DECLARE @Column1Value VARCHAR(50)SELECT @Column1Value = Column1 FROM INSERTED-- 对获取的值进行操作-- ...END5. 使用INSERTED表与其他表进行关联查询在触发器中,可以将INSERTED表与其他表进行关联查询,以获取更多的相关数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档