SQL SERVER 触发器实例

本文介绍了一个SQL Server触发器的实例,演示了如何在新增学生信息时,自动更新对应班级的学生人数。通过创建TGROUP班级表和TUSER学生表,并设置触发器,在插入新学生时,相应班级的ACCOUNTUSER字段自动加1。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近小得空闲,看了看SQL SERVER 触发器,简单写了一个小例子,做个记录。

--班级表

CREATE TABLE [dbo].[TGROUP](
[ID] [int] IDENTITY(1,1) NOT NULL,
[GROUPNAME] [varchar](50) NULL,
[ACCOUNTUSER] [int] NULL,
[MEMO] [varchar](50) NULL
)

--学生表

 

CREATE TABLE [dbo].[TUSER](
[ID] [int] IDENTITY(1,1) NOT NULL primary key,
[NAME] [varchar](50) NULL,
[TEL] [varchar](50) NULL,
[OPERDATE] [datetime] NULL,
[OPERATOR] [varchar](50) NULL,
[DELEFLAG] [char](1) NULL,
[GROUPID] [int] NULL,
)

要求实现,当新增一个学生信息时,根据学生表中的GROUPID(班级ID), 相应班级表中的ACCOUNTUSER(学生人数)+1

新建触发器如下:

create trigger strTuser
on tuser
for insert
as
begin
update TGROUP set ACCOUNTUSER=ACCOUNTUSER+1
from TGROUP tg,inserted i
where tg.id=i.GROUPID
end

--测试数据

insert into TGROUP (GROUPNAME,ACCOUNTUSER) values('1年级1班',0)


insert into TUSER (NAME,TEL,OPERATOR,DELEFLAG,GROUPID)
values ('张玲玲','23611234','admin','0','1')
insert into TUSER (NAME,TEL,OPERATOR,DELEFLAG,GROUPID)
values ('李小一','23612235','admin','0','1')

--查看测试结果

select * from TUSER
select * from TGROUP

转载于:https://www.cnblogs.com/aminta/articles/4554539.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值