SQL Server 触发器使用例子

2022-11-12 09:52:41
内容摘要
这篇文章主要为大家详细介绍了SQL Server 触发器使用例子,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记!inserted,deleted是在触发器中使
文章正文

这篇文章主要为大家详细介绍了SQL Server 触发器使用例子,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

inserted,deleted是在触发器中使用的两个临时表,当执行insert操作时,在inserted中存储着当前插入的记录,在执行delete操作时,在deleted中存储着当前删除的记录,当执行update时,在inserted中存储着修改后的记录,在deleted中存储着修改前的记录。

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<code>set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
 
ALTER TRIGGER [dnt_user_add]
ON [dbo].[dnt_users]
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
insert into [dnt_userfields](uid)
select uid from inserted
 
END
</code>
删除:

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<code>SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
 
CREATE TRIGGER [dnt_users_del]
ON [dnt_users]
AFTER DELETE
AS
BEGIN
 
SET NOCOUNT ON;
delete [dnt_userfields] from deleted where [dnt_userfields].uid=deleted.uid
 
END
GO
</code>
修改:

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<code>SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
 
ALTER TRIGGER [dnt_users_up]
ON [dnt_users]
AFTER UPDATE
AS
BEGIN
 
SET NOCOUNT ON;
UPDATE [dnt_userfields] Set icq = inserted.uid from inserted where [dnt_userfields].uid = inserted.uid
 
END
GO
</code>

注:关于SQL Server 触发器使用例子的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!