·只有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)
|
存放更新后的记录
|
存放更新前的记录
|
如果我不曾见过太阳阿里云盘全集高清1080P资源链接-如果我不曾见过太阳免费阿里云盘资源下载4K高清无删减版链接
罚罪1+2全80集阿里云盘全集资源链接-罚罪1+2全集高清1080P/4K阿里云盘资源下载无删减
邵氏精品禁品未删减资源在线看-必看的50部邵氏电影无删减观看入口
羞羞漫画高清最新资源-正规平台免费入口与无删减资源导航
日漫入口-官方认证安全入口与无删减日漫资源直达导航
一拳超人漫画入口-2026最新免费高清全集在线看