·只有inserted表有数据时,当前操作为insert;
·inserted和deleted两张表都有数据时,当前操作为update;
·只有deleted表有数据时,当前操作为delete。
创建触发器用 CREATE TRIGGER
| 代码如下 | 复制代码 |
|
CREATE TRIGGER 触发器名称 |
|
nserted、deleted
这是两个虚拟表,inserted 保存的是 insert 或 update 之后所影响的记录形成的表,deleted 保存的是 delete 或 update 之前所影响的记录形成的表。例:
| 代码如下 | 复制代码 |
|
create trigger tbl_delete |
|
说明:如果向 inserted 或 deleted 虚拟表中取字段类型为 text、image 的字段值时,所取得的值将会是 null。
注意:触发器名称是不加引号的。
如下是联机丛书上的一个示例,当在 titles 表上更改记录时,发送邮件通知 MaryM。
| 代码如下 | 复制代码 |
|
CREATE TRIGGER reminder |
|
# 创建update类型触发器
| 代码如下 | 复制代码 |
|
--update更新类型触发器
# update更新列级触发器 if (object_id('tgr_classes_update_column', 'TR') is not null) |
|
更新列级触发器可以用update是否判断更新列记录;
SQL Server触发器判断当前操作类型(insert/update/delete)示例
| 代码如下 | 复制代码 |
|
create trigger updateRowVersion on PPM_JobBill
|
|
触发器有两个特殊的表:插入表(instered表)和删除表(deleted表)。这两张是逻辑表也是虚表。有系统在内存中创建者两张表,不会存储在数据库中。而且两张表的都是只读的,只能读取数据而不能修改数据。这两张表的结果总是与被改触发器应用的表的结构相同。当触发器完成工作后,这两张表就会被删除。Inserted表的数据是插入或是修改后的数据,而deleted表的数据是更新前的或是删除的数据。
|
对表的操作
|
Inserted逻辑表
|
Deleted逻辑表
|
|
增加记录(insert)
|
存放增加的记录
|
无
|
|
删除记录(delete)
|
无
|
存放被删除的记录
|
|
修改记录(update)
|
存放更新后的记录
|
存放更新前的记录
|
洋果子店rose最新版本
洋果子店最新版是一款十分容易让人垂涎的开店经营类手游。游戏玩
明日大亨最新版
明日大亨手游,一个非常经典有趣的模拟经营类型的商战手游,在游
早安我的少年日服最新版2024
早安我的少年日服是一款治愈恋爱手游,清新明亮的游戏画面,让你
我的世界基岩版1.16正式版
我的世界基岩版是一款模拟经营手游,游戏采用的是经典像素玩法,
早安我的少年最新版2024
早安我的少年是一款养成恋爱手游,在这款游戏中,玩家们将可以体